ExcelFunktionen COMatePlus
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Auch einfach Save geht nicht.
Das einzige was funktioniert, in Excel gehen und zu Fuss speichern unter machen. Dann klappt es
Das einzige was funktioniert, in Excel gehen und zu Fuss speichern unter machen. Dann klappt es
Re: ExcelFunktionen COMatePlus
Schreibrechte hast Du?
Beinhaltet Dein Dateiname exotische Zeichen?
Grüße ... Peter
Code: Alles auswählen
If CreateFile(0, "[DeinDateiname].tmp")
Debug "Ja, hat geklappt"
Else
Debug "Nein, hat nicht geklappt"
EndIf
Grüße ... Peter
Hygge
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Der Dateiname besteht nur aus Ziffern.
Habe gerade unter XP mit dem gleichen Sourcecode und der gleichen PB Version ca 200 xls mit Excel2000 automatisch erzeugt.
Das klappt hervorragend.
Das mit den Schreibrechten muss ich morgen versuchen. Heute keine Zeit mehr.
Aber sind gute Tips vielleicht auch für andere Probleme.
Habe gerade unter XP mit dem gleichen Sourcecode und der gleichen PB Version ca 200 xls mit Excel2000 automatisch erzeugt.
Das klappt hervorragend.
Das mit den Schreibrechten muss ich morgen versuchen. Heute keine Zeit mehr.
Aber sind gute Tips vielleicht auch für andere Probleme.
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Hallo,
der Test funktioniert. Ich habe es mit .tpm und .xlsx versucht. Dabei ist mir ein kleiner Fehler unterlaufen. Ich hatte das prg einmal nicht geschlossen und konnte nun die Datei erst löschen, nachdem ich das prg beendet hatte. Das heißt aber, das prg hatte geschrieben und hatte Zugriff auf die Datei.
der Test funktioniert. Ich habe es mit .tpm und .xlsx versucht. Dabei ist mir ein kleiner Fehler unterlaufen. Ich hatte das prg einmal nicht geschlossen und konnte nun die Datei erst löschen, nachdem ich das prg beendet hatte. Das heißt aber, das prg hatte geschrieben und hatte Zugriff auf die Datei.
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Gearde habe ich Office 2010 unter XP installiert. Das Erzeugen der Dateien funktioniert. Also liegen die Schwierigkeiten eindeutig bei Win 7.
- ts-soft
- Beiträge: 22292
- Registriert: 08.09.2004 00:57
- Computerausstattung: Mainboard: MSI 970A-G43
CPU: AMD FX-6300 Six-Core Processor
GraKa: GeForce GTX 750 Ti, 2 GB
Memory: 16 GB DDR3-1600 - Dual Channel - Wohnort: Berlin
Re: ExcelFunktionen COMatePlus
Wenn es an Win7 liegen sollte, im Unterschied zu XP, dann sind das Berechtigungen. Speicher doch einfach mal unter temp.
Code: Alles auswählen
Debug GetEnvironmentVariable("temp")
PureBasic 5.73 LTS | SpiderBasic 2.30 | Windows 10 Pro (x64) | Linux Mint 20.1 (x64)
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
Nutella hat nur sehr wenig Vitamine. Deswegen muss man davon relativ viel essen.
-
- Beiträge: 10
- Registriert: 24.03.2016 09:11
Re: ExcelFunktionen COMatePlus
Vielen Dank für Eure Tips, es hat sich wahrscheinlich erledigt, die Office-Version scheint defekt zu sein.
Re: ExcelFunktionen COMatePlus
Hallo,
ich hatte mit der Funktion 'XLSFunc_Image' das Problem das Images, welche auf einem Netzlaufwerk lagen, nur als Link eingebunden und erst beim oeffnen der Datei als Resource geladen wurden. Bei mir auf dem Rechner alles ok, auf einem fremden Rechner ohne Netzlaufwerk fehlten die Images. Nach einigem stoebern in VBA-Foren bin ich auf die Loesung gekommen - das ist so gewollt und seit Office2010 so. Einen Workaround gibt's natuerlich auch.
Rot.l=0,Prop=#msoTrue,Trans.f=0 werden zwar nicht gebraucht aber ich habe es mal der Kompatibilitaet wegen dringelassen.
ich hatte mit der Funktion 'XLSFunc_Image' das Problem das Images, welche auf einem Netzlaufwerk lagen, nur als Link eingebunden und erst beim oeffnen der Datei als Resource geladen wurden. Bei mir auf dem Rechner alles ok, auf einem fremden Rechner ohne Netzlaufwerk fehlten die Images. Nach einigem stoebern in VBA-Foren bin ich auf die Loesung gekommen - das ist so gewollt und seit Office2010 so. Einen Workaround gibt's natuerlich auch.
Code: Alles auswählen
Procedure XLSFunc_Image(ExcelObject.COMateObject,File.s,X.l,Y.l,Width.l,Height.l,Rot.l=0,Prop=#msoTrue,Trans.f=0)
If FileSize(File)>=0
ExcelObject\Invoke("ActiveSheet\Shapes\AddPicture('"+File+"',0,1,"+StrD(X)+","+StrD(Y)+","+StrD(Width)+","+StrD(Height)+")\Select")
Else
MessageRequester("Achtung","Grafik nicht gefunden")
EndIf
EndProcedure
Re: ExcelFunktionen COMatePlus
Nächstes (geloestes) Problemchen, das schreiben einer groesseren Menge Daten in eine ExcelTabelle war extrem langsam - folgende Funktion 'XLSFunc_SrceenUpdating' beschleunigt das Ganze um den Factor 5 (auf meinem Rechner).
Code: Alles auswählen
Procedure XLSFunc_SrceenUpdating(ExcelObject.COMateObject,Wert.l)
; Turn screen updating off (#False) To speed up your code. You won't be able to see what the code is doing, but it will run faster.
; Remember To set the ScreenUpdating property back To #True when your code ends.
If Wert=#True
ExcelObject\SetProperty("Application\ScreenUpdating=#True")
ElseIf Wert=#False
ExcelObject\SetProperty("Application\ScreenUpdating=#False")
EndIf
EndProcedure
- jacdelad
- Beiträge: 348
- Registriert: 03.02.2021 13:39
- Computerausstattung: Ryzen 5800X, 108TB Festplatte, 32GB RAM, Radeon 7770OC
- Wohnort: Riesa
- Kontaktdaten:
Re: ExcelFunktionen COMatePlus
Die Downloads im ersten Post führen leider ins Leere, ich will aus einer xls-Tabelle die Zellen auslesen, bin ich hier an der richtigen Adresse? Oder gibt's da noch was anderes?
PureBasic 6.11/XProfan X4a/Embarcadero RAD Studio 11/Perl 5.2/Python 3.10
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB
Windows 11/Ryzen 5800X/32GB RAM/Radeon 7770 OC/3TB SSD/11TB HDD
Synology DS1821+/36GB RAM/150TB
Synology DS920+/20GB RAM/54TB
Synology DS916+ii/8GB RAM/12TB