Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht Das deutsche QBasic- und FreeBASIC-Forum
Für euch erreichbar unter qb-forum.de, fb-forum.de und freebasic-forum.de!
 
FAQFAQ   SuchenSuchen   MitgliederlisteMitgliederliste   BenutzergruppenBenutzergruppen  RegistrierenRegistrieren
ProfilProfil   Einloggen, um private Nachrichten zu lesenEinloggen, um private Nachrichten zu lesen   LoginLogin
Zur Begleitseite des Forums / Chat / Impressum
Aktueller Forenpartner:

Office und FreeBASIC

 
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC.
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
ich eben



Anmeldungsdatum: 05.12.2008
Beiträge: 12
Wohnort: zu Hause

BeitragVerfasst am: 26.01.2010, 11:15    Titel: Office und FreeBASIC Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
MOD
Fleißiger Referenzredakteur


Anmeldungsdatum: 10.09.2007
Beiträge: 1003

BeitragVerfasst am: 26.01.2010, 14:20    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
dreael
Administrator


Anmeldungsdatum: 10.09.2004
Beiträge: 2529
Wohnort: Hofen SH (Schweiz)

BeitragVerfasst am: 26.01.2010, 21:22    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden E-Mail senden Website dieses Benutzers besuchen
ich eben



Anmeldungsdatum: 05.12.2008
Beiträge: 12
Wohnort: zu Hause

BeitragVerfasst am: 26.01.2010, 23:26    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
OneCypher



Anmeldungsdatum: 23.09.2007
Beiträge: 802

BeitragVerfasst am: 27.01.2010, 00:33    Titel: Antworten mit Zitat

@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 lächeln
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
darkinsanity
aka sts


Anmeldungsdatum: 01.11.2006
Beiträge: 456

BeitragVerfasst am: 27.01.2010, 10:55    Titel: Antworten mit Zitat

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 lächeln
_________________
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst -- Steve Wozniak
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden
ich eben



Anmeldungsdatum: 05.12.2008
Beiträge: 12
Wohnort: zu Hause

BeitragVerfasst am: 29.01.2010, 13:58    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.01.2010, 14:28    Titel: Antworten mit Zitat

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 Zunge rausstrecken
_________________
» Die Mathematik wurde geschaffen, um Probleme zu lösen, die es nicht gäbe, wenn die Mathematik nicht erschaffen worden wäre.
Nach oben
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ich eben



Anmeldungsdatum: 05.12.2008
Beiträge: 12
Wohnort: zu Hause

BeitragVerfasst am: 29.01.2010, 17:56    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Jojo
alter Rang


Anmeldungsdatum: 12.02.2005
Beiträge: 9736
Wohnort: Neben der Festplatte

BeitragVerfasst am: 29.01.2010, 18:18    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen
ich eben



Anmeldungsdatum: 05.12.2008
Beiträge: 12
Wohnort: zu Hause

BeitragVerfasst am: 30.01.2010, 15:59    Titel: Antworten mit Zitat

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
Benutzer-Profile anzeigen Private Nachricht senden
Beiträge der letzten Zeit anzeigen:   
Neues Thema eröffnen   Neue Antwort erstellen    Das deutsche QBasic- und FreeBASIC-Forum Foren-Übersicht -> Allgemeine Fragen zu FreeBASIC. Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehe zu:  
Du kannst keine Beiträge in dieses Forum schreiben.
Du kannst auf Beiträge in diesem Forum nicht antworten.
Du kannst deine Beiträge in diesem Forum nicht bearbeiten.
Du kannst deine Beiträge in diesem Forum nicht löschen.
Du kannst an Umfragen in diesem Forum nicht mitmachen.

 Impressum :: Datenschutz