ExcelFunktionen COMatePlus

Hier könnt Ihr gute, von Euch geschriebene Codes posten. Sie müssen auf jeden Fall funktionieren und sollten möglichst effizient, elegant und beispielhaft oder einfach nur cool sein.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag von Kiffi »

memdee hat geschrieben:meep?
mööp!
Hygge
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von bobobo »

mööp oder meep egal

gibt es eine Möglichkeit mir diesem Comate-Gedöns
eine XLS-Datei passwortgeschützt abzuspeichern ?

zu Fuß geht das in excel (AsbachVersion 2000) im Speicherdialog
Speichern unter -Extras -Allgemeine Optionen -Kennwort bei Lese-/Schreibkennwort
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag von Kiffi »

bobobo hat geschrieben:gibt es eine Möglichkeit mir diesem Comate-Gedöns
eine XLS-Datei passwortgeschützt abzuspeichern ?

Code: Alles auswählen

XIncludeFile "DeinPfadZuCOMatePlus\comateplus.pbi" ; Anpassen!

EnableExplicit

Define oExcel.COMateObject
Define oWorkbook.COMateObject

oExcel = COMate_CreateObject("Excel.Application")

If oExcel
  
  oExcel\SetProperty("Application\DisplayAlerts = #False")
  
  oWorkbook = oExcel\GetObjectProperty("Workbooks\Open('MeineMappe.xls')")
  
  If oWorkbook
  
    oWorkbook\Invoke("SaveAs('MeineGeheimeMappe.xls', #Optional, 'MeinGeheimesPasswort')")
    oWorkbook\Invoke("Close")
    oWorkbook\Release()
    
  Else
    
    Debug "!oWorkbook"
    Debug COMate_GetLastErrorDescription() 
    
  EndIf
  
  oExcel\Invoke("Quit")
  oExcel\Release()
  
Else
  
  Debug "!oExcel"
  Debug COMate_GetLastErrorDescription() 
  
EndIf
Grüße ... Kiffi
Hygge
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von bobobo »

schön wärs gewesen
Saveas geht so nicht

öffnen Okay.
Saveas Die SaveAs-Methode des Workbook-Objektes konnte nicht ausgeführt werden.
close Okay.
release Okay.

Comate halt .. undurchsichtig ohne Ende

Woher bekommt man infos wie,wo,was damit geht?
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag von Kiffi »

bobobo hat geschrieben:Saveas Die SaveAs-Methode des Workbook-Objektes konnte nicht ausgeführt werden.
wo kommt die Fehlermeldung her?

Bei mir geht's auch mit Excel 2000. Grade installiert und erfolgreich auprobiert.

Du kannst ja mal nach der SaveAs-Methode ein

Code: Alles auswählen

Debug COMate_GetLastErrorDescription()
einfügen.

Grüße ... Kiffi
Hygge
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von bobobo »

genau daher kommt ja die Fehlermeldung
Ich habe hinter jedem Commateaufruf
das COMate_GetLastErrorDescription() ausgegeben.


saveAs mit oder Ohne weitere Pfadangabe unter gleichem oder anderem Namen immer mit Meldung
'Die SaveAs-Methode des Workbook-Objektes konnte nicht ausgeführt werden.'


WinXP
Excel 2000 9.0.7616 Sp-3
Sicherheitsstufe Mittel (mit niedrig geht es genausowenig)

Scriptinghost ist aus (mit an geht es aber auch nicht)

Eingeloggt bin ich mit lokalen Adminrechten.
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
bobobo
jaAdmin
Beiträge: 3857
Registriert: 13.09.2004 17:48
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von bobobo »

Wää das ist gar nicht mein Fehler sondern Deiner

ich hab da was in der Excelobjectmethodenbeschreibung für saveas gefunden
(allerdings für excel 2007 , excel 2000 gibt es bei ms wohl nicht mehr so richtig)

das Passwort darf die Länge von 15 Zeichen NICHT überschreiten.

somit

öffnen Okay.
Saveas Okay.
close Okay.
release Okay.

VIELEN DANK
‮pb aktuell5.7 - windoof aktuell und sowas von 10
Ich hab Tinnitus im Auge. Ich seh nur Pfeifen.
Benutzeravatar
Kiffi
Beiträge: 10621
Registriert: 08.09.2004 08:21
Wohnort: Amphibios 9

Re: ExcelFunktionen COMatePlus

Beitrag von Kiffi »

bobobo hat geschrieben:ich Depp habe einfach Deinen Passwortplatzhalter übernommen
brauchste Dich nicht für zu schämen. Kann jedem mal passieren.
bobobo hat geschrieben:VIELEN DANK
Gern!

<)

Grüße ... Kiffi
Hygge
LuZiF3R
Beiträge: 18
Registriert: 22.03.2012 16:24

Re: ExcelFunktionen COMatePlus

Beitrag von LuZiF3R »

Gib es auch ne Möglichkeit ein Bild einzufügen?
wenn ja,

wie gebe ich dann Position, Mabmessungen ggf. Eigenschaften ein

danke schonmal im vorraus
Benutzeravatar
Falko
Admin
Beiträge: 3531
Registriert: 29.08.2004 11:27
Computerausstattung: PC: MSI-Z590-GC; 32GB-DDR4, ICore9; 2TB M2 + 2x3TB-SATA2 HDD; Intel ICore9 @ 3600MHZ (Win11 Pro. 64-Bit),
Acer Aspire E15 (Win11 Home X64). Purebasic LTS 6.0
Kontaktdaten:

Re: ExcelFunktionen COMatePlus

Beitrag von Falko »

Zur ersten Frage, kann ich hier nun eine weitere Funktion für den obigen Code
rein stellen. Mit den Änderungen an Bildgröße etc. muss ich mich noch etwas
schlau machen :wink:

Code: Alles auswählen

Procedure XLSFunc_Grafik(ExcelObject.COMateObject,File.s)
  ExcelObject\invoke("ActiveSheet\Pictures\Insert('"+File+"')")
EndProcedure
Ich hoffe, das hilft dir vorerst etwas weiter.


[Edit]
Ich habe es nun endlich hin bekommen. Du kannst nun eine Grafik bestimmen und
dessen Größe sowie dessen Position mit vorgeben.

Die Vollständige Funktion habe ich hier in Excelfunktion.pbi mit eingebaut.

ExcelFunktion.pbi

Ein Beispielcode hierzu habe ich auch vorbereitet. Evtl. den korrekten Pfad für die Bilddatei abändern.

Code: Alles auswählen

XIncludeFile "ExcelFunktion.pbi"
Define NewExcelObject,UserDesktop.s
NewExcelObject=XLSFunc_CreateExcelFile(UserDesktop+"ExcelProgramm"); Create a new Excelfile to this Path.
XLSFunc_Grafik(NewExcelobject,"C:\Users\Public\Pictures\Sample Pictures\Autumn Leaves.jpg",100,100,200,200)
Debug COMate_GetLastErrorDescription() 
XLSFunc_ExcelVisible(NewExcelObject,#True); To see Excel, behind close Workbook
MessageRequester("Warnung","Excel wird bei OK geschlossen")
XLSFunc_CloseExcelAll(NewExcelObject)
Gruß,
Falko
Bild
Win10 Pro 64-Bit, PB_5.4,GFA-WinDOS, Powerbasic9.05-Windows, NSBasic/CE, NSBasic/Desktop, NSBasic4APP, EmergenceBasic
Antworten