Schrift
Wiki:Tipp zum Debugging: use Data::Dumper; local $Data::Dumper::Useqq = 1; print Dumper \@var;
[thread]7572[/thread]

PowerPoint Presentation öffnen

Leser: 2


<< >> 6 Einträge, 1 Seite
Kristop8
 2005-12-23 11:45
#61317 #61317
User since
2005-10-06
22 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

könnt Ihr mir vielliecht sagen, wie ich in Perl/(TK) eine PowerPoint Datei öffnen kann ohne vorherisges wissen wo PowerPoint.exe liegt.

(Das Programm [kein CGI] will ich als .exe Datei auf ein Stick packen und auf allen Win Rechnern ausführen)

Besten Dank und forhe Weihnachten

LG Chris
renee
 2005-12-23 11:56
#61318 #61318
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Willst Du die Datei dann in einem Tk-Fenster anzeigen? Das ist (soweit ich weiss) nicht moeglich.

Wenn Du einfach PowerPoint oeffnen willst, dann solltest Du Dir mal CPAN:Win32::OLE anschauen...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
sesth
 2005-12-23 12:05
#61319 #61319
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Das kannst Du über die Registry rausfinden. Unter "HKEY_CLASSES_ROOT\PowerPoint.Show\CurVer" sollte die aktuelle Versionsbezeichnung stehen (z. B. "PowerPoint.Show.8"). Damit greifst Du dann auf die konkrete Version zu: "HKEY_CLASSES_ROOT\PowerPoint.Show.8\shell\Show\command". Dort steht dann beispielsweise "C:\Program Files\Microsoft Office\OFFICE11\POWERPNT.EXE" /s "%1". Du brauchst nur noch %1 durch Deinen Dateinamen ersetzen und dann den String per system aufrufen.
Gruß
Thomas
renee
 2005-12-23 12:16
#61320 #61320
User since
2003-08-04
14371 Artikel
ModeratorIn
[Homepage] [default_avatar]
Einfacher ist es da mit CPAN:Win32::OLE zu arbeiten, weil man da nicht erst den Umweg ueber die Registry machen muss...
OTRS-Erweiterungen (http://feature-addons.de/)
Frankfurt Perlmongers (http://frankfurt.pm/)
--

Unterlagen OTRS-Workshop 2012: http://otrs.perl-services.de/workshop.html
Perl-Entwicklung: http://perl-services.de/
Kristop8
 2005-12-23 12:55
#61321 #61321
User since
2005-10-06
22 Artikel
BenutzerIn
[default_avatar]
Hallo Leute,

Win32::OLE erscheint mir wirklich der sinnvollere Weg zu sein...

könnt Ihr mir vielleicht sagen warum folgender Code nicht funz... sondern eine Fehlermeldung bringt.
Code: (dl )
1
2
3
4
5
6
7
8
9
10
use strict;
use Win32::OLE qw(in with);
use Win32::OLE::Const 'Microsoft PowerPoint';
$Win32::OLE::Warn = 2; # Throw Errors, I'll catch them

my $PptApp = Win32::OLE->GetActiveObject('PowerPoint.Application')||
+Win32::OLE->new('PowerPoint.Application', 'Quit');

$PptApp->{Visible} = 1;
my $Presentation = $PptApp->Presentations->Open({FileName=>'test.ppt'});


die Fehlermedlung lautet:
Quote
OLE exception from "Microsoft PowerPoint 2000";
PowerPoint coud not open the file.

Win32::OLE(0.1403) error 0x80004005: "Unbekannter Fehler" in METHOD/PROPERTYGET "Open" at ... line 10

Danke lg Chris
sesth
 2005-12-23 13:27
#61322 #61322
User since
2005-02-01
181 Artikel
BenutzerIn
[default_avatar]
Du mußt bei Open einen absoluten Pfad angeben.
Gruß
Thomas
<< >> 6 Einträge, 1 Seite



View all threads created 2005-12-23 11:45.