Vorheriges Thema anzeigen :: Nächstes Thema anzeigen |
Autor |
Nachricht |
ich eben
Anmeldungsdatum: 05.12.2008 Beiträge: 12 Wohnort: zu Hause
|
Verfasst am: 26.01.2010, 11:15 Titel: Office und FreeBASIC |
|
|
Hallo, Leute,
Ich hab da mal ne Frage: Kann man mit FreBASIC eigentlich auch Microsoft Office-Dokumente(in meinem Fall .ppt) einlesen? Ich möchte nämlich den Text von PowerPoint-Präsis (wenn möglich den, der einzelnen Folien) in eine xml-Datei schreiben, damit man die Präsentation mit einem anderen Programm präsentieren kann.
Ich freue mich über viele Tipps.
Gruß ich eben _________________ Der Kreis ist eine geometrische Figur, bei der an allen Ecken und Enden gespart wurde. |
|
Nach oben |
|
 |
MOD Fleißiger Referenzredakteur

Anmeldungsdatum: 10.09.2007 Beiträge: 1003
|
Verfasst am: 26.01.2010, 14:20 Titel: |
|
|
Eine ppt einlesen ist mit FreeBASIC kein Problem, nur wirst du daraus nicht den Text filtern können. Öffne deine Präsentation mal nicht mit PowerPoint sondern mit einem Editor wie Notepad, dann siehst du das Problem.
Einzige Möglichkeit wäre, in der Präsentation über VBA alle Texte auszulesen und in eine externe Textdatei zu schreiben. VBA ist von der Syntax her nahezu wie FB. Du wirst allerdings selbst rausfinden müssen, wie dein VBA-Programm die Sätze ausliest. |
|
Nach oben |
|
 |
dreael Administrator

Anmeldungsdatum: 10.09.2004 Beiträge: 2529 Wohnort: Hofen SH (Schweiz)
|
Verfasst am: 26.01.2010, 21:22 Titel: |
|
|
MOD hat Folgendes geschrieben: | Einzige Möglichkeit wäre, in der Präsentation über VBA alle Texte auszulesen und in eine externe Textdatei zu schreiben. VBA ist von der Syntax her nahezu wie FB. Du wirst allerdings selbst rausfinden müssen, wie dein VBA-Programm die Sätze ausliest. |
Und genau auf dieser Basis läuft auch der Windows Script Host, wenn man mit den Office-Automatisierungsobjekten arbeitet.
Ein paar Beispiele von mir dazu:
http://beilagen.dreael.ch/QB/WORD_MKR.BAS
http://beilagen.dreael.ch/QB/POWERPNT.BAS
Hinweis: Sind sowohl in QB als auch FreeBasic lauffähig. Für Profis: In FreeBasic müssten sogar direkte API-Aufrufe auf die COM/ActiveX-Schnittstellen möglich sein, so dass es das temporäre .VBS gar nicht mehr braucht. _________________ Teste die PC-Sicherheit mit www.sec-check.net |
|
Nach oben |
|
 |
ich eben
Anmeldungsdatum: 05.12.2008 Beiträge: 12 Wohnort: zu Hause
|
Verfasst am: 26.01.2010, 23:26 Titel: |
|
|
Danke für die Antworten.
@Dreael: Danke für die Beispiele aber funzt das auch unter Office '07?? Bei mir nicht.
Muss man erst ein Plugin für VBA in Office '07 downloaden? Ich hab das nämlich bei mir nicht gefunden. _________________ Der Kreis ist eine geometrische Figur, bei der an allen Ecken und Enden gespart wurde. |
|
Nach oben |
|
 |
OneCypher
Anmeldungsdatum: 23.09.2007 Beiträge: 802
|
Verfasst am: 27.01.2010, 00:33 Titel: |
|
|
@ich eben: Wenn du VBA kannst, dann ist das einlesen von Office-Dokumenten in FB prinzipiell kein Problem solange Office lokal auf dem PC installiert ist: Dann hilft dir der Disphelper weiter!
@drael: Ich find diese workarounds über dynamisch-erzeugte VBS-Dateien nicht wirklich elegant. Für QuickBasic ists ok, aber für Freebasic obsolet.
Disphelper kann das wirklich sehr gut ersetzen.
Und mittels disphelper braucht man auch keine API-Funktionen zu büffeln solange man mit den grundlegenden disphelper-funktionen zurechtkommt und VB(A) programmieren kann.
Ich hatte mal einen excel-wrapper programmiert der mittels disphelper excel steuern kann. Damit kann man praktisch VBA-befehle in Freebasic realisieren. Allerdings in diesem projekt nur für excel.
Lies dich einfach mal in die funktionen des disphelpers ein. Die sind nicht kompliziert und nicht umfangreich.
Ich glaub, da müssten auch irgendwo bei den examples der freebasic-installation beispiel-programme zum disphelper dabei sein...
Das wird dir sicherlich weiterhelfen  |
|
Nach oben |
|
 |
darkinsanity aka sts

Anmeldungsdatum: 01.11.2006 Beiträge: 456
|
Verfasst am: 27.01.2010, 10:55 Titel: |
|
|
Hm, Office 07, das verwendet doch dieses XML-format von Microsoft, oder nicht? Das ist eigentlich nur en Zip-Archiv in dem XML-Dateien liegen, sollte also mit FB machbar sein.
Also einfach mal ne Office 2007 Datei mit einem Entpacker (7zip o.Ä.) öffnen und nachsehen  _________________ Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak |
|
Nach oben |
|
 |
ich eben
Anmeldungsdatum: 05.12.2008 Beiträge: 12 Wohnort: zu Hause
|
Verfasst am: 29.01.2010, 13:58 Titel: |
|
|
Danke für die Hinweise. Ich habe mal eine PPT entpackt und die .xml-Dateien mit dem Folientext gesucht. Das hat alles geklappt, allerdings habe ich noch nie mit Zips in FB gearbeitet und habe davon auch keine Ahnung. Kann man die Zips einfach mit zB.
Code: | OPEN "C:\PowerPointDatei.ppt\ppt\slides\slide1.xml" FOR INPUT AS #1 |
öffnen, oder muss man die erst mit FB entpacken?? Wenn man die erst entpacken muss, dann bitte ich um Hilfe. _________________ Der Kreis ist eine geometrische Figur, bei der an allen Ecken und Enden gespart wurde. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 29.01.2010, 14:28 Titel: |
|
|
Du könntest z.B. die zlib verwenden oder 7zip oder sowas... aber alles, wo du noch selbst hand anlegen musst (sprich: programmieren), scheint dir ja zu viel aufwand zu sein  _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ich eben
Anmeldungsdatum: 05.12.2008 Beiträge: 12 Wohnort: zu Hause
|
Verfasst am: 29.01.2010, 17:56 Titel: |
|
|
Danke für die Tipps. Kann man das eigentlich auch über die Kommandozeilen-Version von 7zip laufen lassen?
Code: | Shell "{7Zip-Pfad}7z x {Pfad}PowerPointDatei.pptx -oC:\PPTs\" |
_________________ Der Kreis ist eine geometrische Figur, bei der an allen Ecken und Enden gespart wurde. |
|
Nach oben |
|
 |
Jojo alter Rang

Anmeldungsdatum: 12.02.2005 Beiträge: 9736 Wohnort: Neben der Festplatte
|
Verfasst am: 29.01.2010, 18:18 Titel: |
|
|
ja, wenn du z.B. 7zip in dein programmverzeichnis packst geht das wohl am einfachsten. _________________ » Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
 |
|
Nach oben |
|
 |
ich eben
Anmeldungsdatum: 05.12.2008 Beiträge: 12 Wohnort: zu Hause
|
Verfasst am: 30.01.2010, 15:59 Titel: |
|
|
Danke, klappt wunderbar. Wenn der Dateiname der pptx-Datei Leerzeichen hat , muss man den in "" setzen, deshalb hat es bei mir erst nicht geklappt, aber jezt klappt es wunderbar. Jetzt muss ich nur noch den Folientext aus den Dateien filtern. Dake für eure Hilfe, alle.
Gruß ich eben _________________ Der Kreis ist eine geometrische Figur, bei der an allen Ecken und Enden gespart wurde. |
|
Nach oben |
|
 |
|