Français
Source/ Codesnippets

Blattschutz Entfernen Excel Ocx Ocxmethod Sheets Tabellenblatt Unprotect Workbooks

 
Stephan Sonneborn (06.02.11)

...
KompilierenMarqueSéparation
'*-------------------------------------------------------------------------------------------------*
'* Exceldatei öffnen                                                                               *
'*-------------------------------------------------------------------------------------------------*

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-Datei öffnen:
        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:
    RETURN ExcelWnd&
    '*-------------------------------------------------------------------------------------------------*

ENDPROC

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

 
07.02.2011  
 




Stephan
Sonneborn
ensuite ici encore légèrement plus.
mais s'il te plaît tenir compte de: ce sont seulement Codeschnippsel, qui so comment ils sont alleine pas courir. là muss encore légèrement Programme drumrum.
KompilierenMarqueSéparation
'Codesnipset mit der OCX-Erweiterung von Uwe "Pascal" Niemeier
'***************************************************************************************************
' Header-Dateien laden                                                                             *
'***************************************************************************************************
 $H WINDOWS.PH
 $H OCX3a.PH
 $H COMMCTRL.PH
'***************************************************************************************************
'***************************************************************************************************
' Include-Dateien laden                                                                            *
'***************************************************************************************************
 $I OCX3a.INC
 $I USER.INC
'***************************************************************************************************
'***************************************************************************************************
'* Globale Variablen                                                                               *
'***************************************************************************************************
DECLARE Excel&, Workbooks&, ExcelWnd&, ExcelBook&, ExcelSheet&, ExcelSheet$, ExcelSheetLines&
DECLARE Range&
*-------------------------------------------------------------------------------------------------*
'* Exceldatei öffnen                                                                               *
'*-------------------------------------------------------------------------------------------------*

PROC OpenExcelFile

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

    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"      ,0)
        '*-------------------------------------------------------------------------------------------------*
        'Excel-Datei öffnen:
        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")
        Cell$       = "A" + STR$(ExcelSheetLines& - 3)
        Range&      = ocxGet(ExcelSheet&, "Range", Cell$)
        LastBOMPos& = VAL(ocxGET(Range&, "Text"))

    ELSE

        ExcelWnd& = 0

    ENDIF

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

ENDPROC

'*-------------------------------------------------------------------------------------------------*
'*-------------------------------------------------------------------------------------------------*
'* MS Excel schließen                                                                              *
'*-------------------------------------------------------------------------------------------------*

PROC CloseExcelFile

    '*-------------------------------------------------------------------------------------------------*
    'Excel schließen:
    ocxPut(ExcelBook&,   "Saved", 1)
    ocxMethod(ExcelBook&,"Close")
    ocxMethod(Excel&, "Quit")
    ocxRelease(Range&, ExcelSheet&, ExcelBook&, WorkBooks&, Excel&)
    SENDMESSAGE(ExcelWnd&,16,0,0)'--WM_CLOSE an Excel
    ExcelWnd& = 0
    '*-------------------------------------------------------------------------------------------------*

ENDPROC

'*-------------------------------------------------------------------------------------------------*
[...]
'*-------------------------------------------------------------------------------------------------*
'Neue Zeile (=4 Excel-Zeilen) durch Kopieren der vorherigen (4 Excel-Zeilen) anlegen:
'*-------------------------------------------------------------------------------------------------*
Line% =  ExcelSheetLines& - 3
ocxMethod(ExcelSheet&,"Activate")
Range& = ocxGet(ExcelSheet&,"Range","A" + STR$(INT(Line%)) + ":AT" + STR$(INT(Line% + 3)))
ocxMethod(Range&, "Copy")
Line% = Line% + 4
Range& = ocxGet(ExcelSheet&,"Range","A" + STR$(INT(Line%)) + ":AT" + STR$(INT(Line% + 3)))
ocxMethod(Range&, "PasteSpecial")
[...]
'*-------------------------------------------------------------------------------------------------*
'Excelzelle einfügen:
'*-------------------------------------------------------------------------------------------------*
Zelle$  = "A1"
Inhalt$ ="Test"

IF Zelle$ <> ""

    Range& = ocxGet(ExcelSheet&, "Range", Zelle$)
    ocxPut(Range&, "Value", Inhalt$)'Anstelle von "Value" ggf auch "Text" probieren

ENDIF

[...]
'*-------------------------------------------------------------------------------------------------*
'Exceltabelle speichern und schließen:
'*-------------------------------------------------------------------------------------------------*
ocxMethod(ExcelSheet&, "Protect")
ocxMethod(ExcelBook& , "Save")
CloseExcelFile
=s1>'*-------------------------------------------------------------------------------------------------*

[OFFTOPIC]Stefan, j'ai Dein Posting editiert, indem je Votre léger "verunglückten" Code-Tacks dans Ordre gebracht habe.
Dietmar[/OFFTOPIC]
 
Schöne Grüße aus Wittgenstein
von Stephan

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



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

4.653 Views

Untitledvor 0 min.
Frank16.04.2021
kustg14.05.2019
Frank Vorholzer18.05.2014
Michaeal18.10.2012
plus...

Themeninformationen

cet Thema hat 2 participant:

Stephan Sonneborn (1x)
iF (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie