Español
Foro

Per ocx Blattschutz entfernen en Excel-Tabellenblatt

 
- Página 1 -



Stephan
Sonneborn
¡Hola zusammen,
en un Excel-Tabellenblatt (Stückliste) debería Artikel eigetragen voluntad. Das es para una a Fuß, para otro por una Auswahlprogramm con bereitgestellten Artikeln.
El Excel Presentación ha una primitiven Schutz gegen unbeabsichtigtes Überschreiben falscher Zellen: Blattschutz sin Contraseña.

Für el händische Editar el Stückliste Yo una Makro geschrieben, dass el Blattschutz aufhebt, una Leerzeile einfügt y luego el Blattschutz otra vez setzt.
In VBA heißt el entonces: ActiveSheet.Unprotect

Beim Übertragen el Artikeldaten en el Excelblatt por oxc muss el Blattschutz auch aufgehoben ser. Das Yo quería así bewerkstelligen:
'*-------------------------------------------------------------------------------------------------*
'* Exceldatei abierto                                                                               *
'*-------------------------------------------------------------------------------------------------*

PROC OpenExcelFile

    '*-------------------------------------------------------------------------------------------------*
    PARAMETERS File$
    '*-------------------------------------------------------------------------------------------------*
    DECLARE    UsedRange&, Rows&
    '*-------------------------------------------------------------------------------------------------*

    IF FILEEXISTS(File$)

        'Excel unsichtbar starten:
        Excel&      = ocxCREATE("Excel.Application")
        Workbooks&  = ocxGet(Excel&,"Workbooks")
        ExcelWnd&   = ocxGet(Excel&,"Hwnd")
        ocxPut(Excel&,"DisplayAlerts",1)
        ocxPut(Excel&,"Visible"      ,1)
        '*-------------------------------------------------------------------------------------------------*
        'Excel-Ir:
        ExcelBook&  = ocxMethod(Workbooks&,"Open"  , File$)
        ExcelSheet& = ocxGet(ExcelBook&,   "Sheets", ExcelSheet$)
        ocxPut(ExcelSheet&,  "Unprotect")
        Range&      = ocxGet(ExcelSheet&,  "Range", "A1")
        UsedRange&  = ocxGet(ExcelSheet&,  "UsedRange")
        Rows&       = ocxGet(UsedRange&,   "Rows")
        ExcelSheetLines& = ocxGet(Rows&,        "Count")
        LastBOMPos& = INT((ExcelSheetLines& - 19)/4)

    ELSE

        ExcelWnd& = 0

    ENDIF

    '*-------------------------------------------------------------------------------------------------*
    'Rückgabewert:
    RETORNO ExcelWnd&
    '*-------------------------------------------------------------------------------------------------*

ENDPROC

'*-------------------------------------------------------------------------------------------------*

Leider führt el para Programmabsturz.
Sombrero alguien una Concepto?
Lo va sólo en el Eintrag ocxPUT(ExcelSheet&, "Unprotect"). Ohne esta Línea se ejecuta el Code.
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
06.02.2011  
 



« Dieser Contribución wurde como Solución gekennzeichnet. »


Stephan
Sonneborn
Sombrero ihn!

Einfach en lugar de ocxPut ocxMethod nehmen:
'*-------------------------------------------------------------------------------------------------*
'* Exceldatei abierto                                                                               *
'*-------------------------------------------------------------------------------------------------*

PROC OpenExcelFile

    '*-------------------------------------------------------------------------------------------------*
    PARAMETERS File$
    '*-------------------------------------------------------------------------------------------------*
    DECLARE    UsedRange&, Rows&
    '*-------------------------------------------------------------------------------------------------*

    IF FILEEXISTS(File$)

        'Excel unsichtbar starten:
        Excel&      = ocxCREATE("Excel.Application")
        Workbooks&  = ocxGet(Excel&,"Workbooks")
        ExcelWnd&   = ocxGet(Excel&,"Hwnd")
        ocxPut(Excel&,"DisplayAlerts",1)
        ocxPut(Excel&,"Visible"      ,1)
        '*-------------------------------------------------------------------------------------------------*
        'Excel-Ir:
        ExcelBook&  = ocxMethod(Workbooks&,"Open"  , File$)
        ExcelSheet& = ocxGet(ExcelBook&,   "Sheets", ExcelSheet$)
        ocxMethod(ExcelSheet&,  "Unprotect")
        Range&      = ocxGet(ExcelSheet&,  "Range", "A1")
        UsedRange&  = ocxGet(ExcelSheet&,  "UsedRange")
        Rows&       = ocxGet(UsedRange&,   "Rows")
        ExcelSheetLines& = ocxGet(Rows&,        "Count")
        LastBOMPos& = INT((ExcelSheetLines& - 19)/4)

    ELSE

        ExcelWnd& = 0

    ENDIF

    '*-------------------------------------------------------------------------------------------------*
    'Rückgabewert:
    RETORNO ExcelWnd&
    '*-------------------------------------------------------------------------------------------------*

ENDPROC

'*-------------------------------------------------------------------------------------------------*
 
Schöne Grüße aus Wittgenstein
von Stephan

Programmierumgebung:| XProfan X4 | WIN10 | AMD FX6100 3,3 GHz
06.02.2011  
 



Sehr fresco, habe soeben una Ableger en Codesnippets erstellt:  [...] 
 
07.02.2011  
 



Respuesta


Título del Tema, max. 100 Signo.
 

Systemprofile:

Kein Systemprofil creado. [anlegen]

XProfan:

 Contribución  Font  Smilies  ▼ 

Bitte registro en una Contribución a verfassen.
 

Tema opciones

5.594 Views

Untitledvor 0 min.
Uwe Lang22.07.2016
Hans Dieter Graap21.11.2012
Detlef Jagolski21.05.2012
Stephan Sonneborn19.01.2012
Más...

Themeninformationen

Dieses Thema ha 2 subscriber:

Stephan Sonneborn (2x)
iF (1x)


Admins  |  AGB  |  Applications  |  Autores  |  Chat  |  Política de Privacidad  |  Descargar  |  Entrance  |  Ayuda  |  Merchantportal  |  Pie de imprenta  |  Mart  |  Interfaces  |  SDK  |  Services  |  Juegos  |  Búsqueda  |  Support

Ein Projekt aller XProfan, el lo son!


Mi XProfan
Privado Noticias
Eigenes Ablageforum
Temas-Merkliste
Eigene Beiträge
Eigene Temas
Zwischenablage
Cancelar
 Deutsch English Français Español Italia
Traducciones

Política de Privacidad


Wir uso Cookies sólo como Session-Cookies wegen el technischen Notwendigkeit y en uns hay no Cookies de Drittanbietern.

Wenn du hier en unsere Webseite klickst oder navigierst, stimmst du unserer Erfassung de Informationen en unseren Cookies en XProfan.Net a.

Weitere Informationen a unseren Cookies y dazu, como du el Kontrolle darüber behältst, findest du en unserer nachfolgenden Datenschutzerklärung.


einverstandenDatenschutzerklärung
Yo möchte no Cookie