Hallo @HemSA,
ich habe nun eine Lösung, die in ComatePlus vorhanden ist, gefunden. Es lag bei mir an den Parametern.
Nun müsste man wissen, wie ds #opt (optional) in ComatePlus auf den Disphelper übertragbar ist. Ich steig da zwar
selber nicht durch, aber es scheint ein Platzhalter zu sein, der ignoriert wird. Falls einige es wissen, würde ich mich freuen,
wie man dieses in den Disphelper anpassen kann. Auf jeden Fall Steht das #True für den Parameter ReadOnly eine Stelle weiter.
Darum klappte es bei mir nicht
Vielleicht kriegst du das in Disphelper nach Vergleich zu ComatePlus nun auch hin. LG, Falko.
Hier nun der Schnipsel:
Code: Alles auswählen
Procedure.l XLSFunc_OpenExcelFile(Datei.s,ReadOnly.l=#False); Open ExcelFile with ReadOnly-Parameter, #True or #False
Protected ExcelObject.COMateObject,Workbooks
ExcelObject = COMate_CreateObject("Excel.Application")
If ExcelObject
If ReadOnly=#False
ExcelObject\Invoke("Workbooks\Open('"+Datei+"',#opt, #False)"); The first open Excelfile is not ReadOnly
ElseIf ReadOnly=#True
ExcelObject\Invoke("Workbooks\Open('"+Datei+"',#opt, #True)"); The first open Excel is ReadOnly
EndIf
Else
MessageRequester("Achtung","Bitte geben Sie eine vorhandene xls-Datei mit Pfad an!")
EndIf
ProcedureReturn ExcelObject ;.COMateObject
EndProcedure
So wird nun die erst geöffnete Exceldatei nun Schreibgeschützt geöffnet.
[Edit] Ich habe die Funktion nochmal geändert, sodass in ComatePlus nur eine Procedure vorhanden ist.
Somit ist es nun möglich die erste Exceldatei mittels einem #True gleich Schreibgeschützt zu öffnen.
[/Edit]