@Kiffi,
hast du zu folgendem noch einen guten Plan?
Irgendwie machen mich die Adds in COMate fertig. Auch ein Vergleich ais der ExcelDemo (Beispiel zu COMatePlus)
mit dem Add - Befehl funktioniert in Verbindung mit dem Names\Add bei meinen Versuchen nicht.
Hier erst mal das VBA-Macro, wobei ich, wenn ich weiter bin, die Adresse der Zelle noch versuchen muss.
Es soll ja nicht direkt eine Tabelle und Cell, sondern, wenn möglich gleich in ActiveWorkbook z.B. die Zelle A1
per Address angespochen werden.
VBA-Macro hat geschrieben:ActiveWorkbook.Names.Add Name:="myName", RefersToR1C1:= _
"=Sheet1!R1C1"
Und soweit habe ich versucht es in PB mit COMate hinzu bekommen (Leider noch fehlerhaft):
Code: Alles auswählen
Procedure.s XLSFunc_CreateCellName(ExcelObject.COMateObject,Cellname.s)
Protected MyNames.COMateObject
MyNames=ExcelObject\GetObjectProperty("Names\Add"):Debug COMate_GetLastErrorDescription()
If MyNames
Debug"MyNames aktiv"
;MyNames\Invoke("Add"):Debug COMate_GetLastErrorDescription()
MyNames\SetProperty("Name = '" +Cellname+"'"):Debug COMate_GetLastErrorDescription()
MyNames\SetProperty("RefersTo ='Tabelle1!$A$1'"):Debug COMate_GetLastErrorDescription()
MyNames\Release():Debug COMate_GetLastErrorDescription()
EndIf
EndProcedure
Kannst du mir evtl. das für die ExcelFunktions-Library korrigieren?
Danke, wenn du mir bei dieser weiteren Funktion helfen könntest.
[Edit] Ich habe das Add separat in einer Invoke geschrieben. Dann ist schon eine
Zeile ohne Fehler, und die Schleife wird angesprungen. Nur geht es ab Add wieder
mit einen Fehler los.
Code: Alles auswählen
Procedure.s XLSFunc_CreateCellName(ExcelObject.COMateObject,Cellname.s)
Protected MyNames.COMateObject
MyNames=ExcelObject\GetObjectProperty("ActiveWorkbook\Names"):Debug COMate_GetLastErrorDescription()
If MyNames
Debug"MyNames aktiv"
MyNames\Invoke("Add"):Debug COMate_GetLastErrorDescription()
MyNames\SetProperty("Name = '" +Cellname+"'"):Debug COMate_GetLastErrorDescription()
MyNames\SetProperty("RefersTo ='Tabelle1!$A$1'"):Debug COMate_GetLastErrorDescription()
MyNames\Release():Debug COMate_GetLastErrorDescription()
EndIf
EndProcedure
[/Edit]
Das ActiveWorkbook.Names.Add in VBA müsste eigentlich ähnlich funktionieren,
wie das Workbooks.Add in srods ExcelDemo Beispiel.
Ich hoffe jemand kann mir hier meinen Fehler auflösen
Gruß,
Falko