Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi Direkt Präsentation mit Powerpoint starten (https://www.delphipraxis.net/145815-direkt-praesentation-mit-powerpoint-starten.html)

PPaB 8. Jan 2010 21:49


Direkt Präsentation mit Powerpoint starten
 
Ich würde es gerne schaffen, dass man eine Powerpoint-Datei öffnen kann und dann die Präsentation direkt gestartet wird (F5).
Gibt es eine Möglichkeit, wie man auf ein anderes Programm zugreifen kann und es sozusagen steuern kann?
(Ich möchte nicht alle Dateien in PPS umwandeln, sondern so belassen.)

Luckie 8. Jan 2010 21:50

Re: Direkt Präsentation mit Powerpoint starten
 
Eventuell kann man Powerpoint mit Shellexecute starten und mit Parametern festlegen, dass die Präsentation gleich starten soll. Guck doch mal in die Dokumentation von Powerpoint.

Und wenn mal sucht: http://www.eggheadcafe.com/software/...ll-screen.aspx

PPaB 8. Jan 2010 22:09

Re: Direkt Präsentation mit Powerpoint starten
 
versteh ich das richtig, ich muss einfach als Pfad noch zusätzlich "/s" eingeben? Das würde aber bei mir nicht funktionieren?

Luckie 8. Jan 2010 22:10

Re: Direkt Präsentation mit Powerpoint starten
 
Laut den Beitrag wird damit die Präsentation als Präsentation gestartet, wenn ich das richtig verstanden habe. Ich kann es nicht testen, ich habe nur Open Office.

PPaB 8. Jan 2010 22:18

Re: Direkt Präsentation mit Powerpoint starten
 
Wenn ich einfach den Pfad umändere, dann öffnet er die Datei garnicht mehr, da er sie nicht findet. Sieht das dann irgendwie mit als Namen.

Kann man irgendwo lesen, für was die Parameter alle gut sind?

Klaus01 8. Jan 2010 22:19

Re: Direkt Präsentation mit Powerpoint starten
 
Du kanst die ppt Datei in eine pps umbennen/kopieren und dann die pps
per shellexecute starten.
Quelle

Grüße
Klaus

Luckie 8. Jan 2010 22:19

Re: Direkt Präsentation mit Powerpoint starten
 
Zeig mal deinen Code.

Und da ist doch einen Link zu den FAQ, wo wohl weitere Parameter erläutert werden.

PPaB 8. Jan 2010 22:21

Re: Direkt Präsentation mit Powerpoint starten
 
@ klaus: ich möchte aber nicht 350 Dateien umbenennen ;-)

so und hier der Code:
Delphi-Quellcode:
var
  i: Integer;
  Pfad : String;
begin
  for i := 0 to LBLieder.Items.Count -1 do
  begin
    if LBLieder.Selected[i] then
      Pfad := ExtractFilePath(Application.Exename) + 'PP-Lieder/' + LBLieder.Items.Strings[i] + '.ppt';
  end;

ShellExecute(Handle, 'open', PChar(Pfad), nil, nil, sw_Show);
end;
Und ich habe versucht die Variable Pfad umzubenennen, aber da funktioniert es nicht

Luckie 8. Jan 2010 22:22

Re: Direkt Präsentation mit Powerpoint starten
 
Du bist doch Programmierer. Da schreibt man sich in fünf Minuten schnell ein kleines Programm. Oder du nimmst mal schnell ein fertiges Tool zum Umbenennen.

PPaB 8. Jan 2010 22:26

Re: Direkt Präsentation mit Powerpoint starten
 
da hast du recht, aber dann kann die Dateien wieder nicht verändern, wenn man wieder einen Fehler sieht und so weiter. Wäre mir halt lieber, wenn ich das mit ppt hinbekommen würde. Wenn das nicht möglich ist kann man dann immer noch überlegen, ob man die umbenennt.

Luckie 8. Jan 2010 22:28

Re: Direkt Präsentation mit Powerpoint starten
 
Na ja, du weißt ja jetzt in welche Richtung du weiter Recherchieren kannst.

Klaus01 8. Jan 2010 22:28

Re: Direkt Präsentation mit Powerpoint starten
 
Zitat:

Zitat von PPaB
@ klaus: ich möchte aber nicht 350 Dateien umbenennen ;-)

so und hier der Code:
Delphi-Quellcode:
var
  i: Integer;
  Pfad : String;
begin
  for i := 0 to LBLieder.Items.Count -1 do
  begin
    if LBLieder.Selected[i] then
      Pfad := ExtractFilePath(Application.Exename) + 'PP-Lieder/' + LBLieder.Items.Strings[i] + '.ppt';
  end;

ShellExecute(Handle, 'open', PChar(Pfad), nil, nil, sw_Show);
end;
Und ich habe versucht die Variable Pfad umzubenennen, aber da funktioniert es nicht

.. oder Du könntest den PowerPointViewer einsetzen.
Quelle

Den könntest Du meines Wissen dann auch Deinem Programm mitgeben, für Menschen
die kein Powerpoint haben.

Grüße
Klaus

Luckie 8. Jan 2010 22:32

Re: Direkt Präsentation mit Powerpoint starten
 
Oder du erstellt eine temporäre, umbenannte Kopie zum Anzeigen.

PPaB 8. Jan 2010 22:34

Re: Direkt Präsentation mit Powerpoint starten
 
ja das sind erstmal gute Ideen. Ich werde mal weitersuchen und überlegen, ob ich eine von den alternativen Lösungen nehme. Wahrscheinlich ist das mit der temporären Datei am besten. Mal schauen.

Danke schonmal, hat mir sehr gut weitergeholfen. Wenn ihr noch eine Idee habt, immer her damit :-)

Edit:
http://www.delphipraxis.net/internal...t.php?p=158843
Vielleicht hilft das weiter, muss dies vielleicht als den nächsten Parameter eingeben. Aber mit -s funktioniert es auch nicht
Eine Idee?

dominikkv 8. Jan 2010 22:45

Re: Direkt Präsentation mit Powerpoint starten
 
Zitat:

Zitat von PPaB
@ klaus: ich möchte aber nicht 350 Dateien umbenennen ;-)

so und hier der Code:
Delphi-Quellcode:
var
  i: Integer;
  Pfad : String;
begin
  for i := 0 to LBLieder.Items.Count -1 do
  begin
    if LBLieder.Selected[i] then
      Pfad := ExtractFilePath(Application.Exename) + 'PP-Lieder/' + LBLieder.Items.Strings[i] + '.ppt';
  end;

ShellExecute(Handle, 'open', PChar(Pfad), nil, nil, sw_Show);
end;
Und ich habe versucht die Variable Pfad umzubenennen, aber da funktioniert es nicht

Ähh... bin ich blind, oder fehlt da ein /s? Vllt liegts ja daran, dass er nicht präsentiert :mrgreen:

PPaB 8. Jan 2010 22:49

Re: Direkt Präsentation mit Powerpoint starten
 
ne habe nur den Code eingefügt, der auch funktioniert. Vorher sah er so aus:
Delphi-Quellcode:
Pfad := ExtractFilePath(Application.Exename) + 'PP-Lieder/' + LBLieder.Items.Strings[i] + '.ppt'+' /s';
Das hat aber wie vorher gesagt, garnicht funktioniert, also noch nicht mal die Datei wird geöffnet.

PPaB 9. Jan 2010 13:31

Re: Direkt Präsentation mit Powerpoint starten
 
Ich hab die Lösung gefunden:
http://www.chemieonline.de/forum/showthread.php?t=41092

Kurz zur Erklärung:
Delphi-Quellcode:
ShellExecute(handle, 'open', PChar('POWERPNT.EXE'), PChar('/s "' + Pfad + '"'), nil, sw_Show);
Man muss Powerpoint starten und nicht einfach die Datei :wall:
So funktioniert es.

Danke für eure Hilfe

Trotzdem gefällt mir eine Sache noch nicht ganz bzw es wäre interessant dies auch noch zu wissen.

Wenn man dann die Präsentation mit [ESC] schließt wird Powerpoint auch direkt mit geschlossen. Gibt es eine Möglichkeit nach dem [ESC]-drücken erstmal wieder zum Bearbeitungsbildschirm von Powerpoint zu kommen?

PPaB

Phoenix 9. Jan 2010 14:45

Re: Direkt Präsentation mit Powerpoint starten
 
Mit dem alten Powerpoint konnte man die .ppt Datei einfach in .pps umbenennen. Dann ist Powerpoint direkt im Slideshow Modus gestartet. Das müsste den aktuellen .pptx auch analog mit .ppsx gehen - ich hab es allerdings nicht getestet.

PPaB 9. Jan 2010 15:23

Re: Direkt Präsentation mit Powerpoint starten
 
1. Wie schon zweimal vorher gesagt, möchte ich nicht die ganzen Dateien umbenennen, sondern sie so beibehalten.
2. Diese würde trotzdem nur die Möglichkeit geben, die Präsentation anzuschauen und über Esc wäre das ganze Powerpoint wieder geschlossen.

johannes-h 9. Jan 2010 16:28

Re: Direkt Präsentation mit Powerpoint starten
 
Zitat:

Das müsste den aktuellen .pptx auch analog mit .ppsx gehen - ich hab es allerdings nicht getestet.
Das tut es. Ich hab es gerade getestet.

toms 9. Jan 2010 17:10

Re: Direkt Präsentation mit Powerpoint starten
 
Zitat:

Zitat von PPaB
2. Diese würde trotzdem nur die Möglichkeit geben, die Präsentation anzuschauen und über Esc wäre das ganze Powerpoint wieder geschlossen.

Dann starte PP via OLE:

Delphi-Quellcode:
uses
  ComObj;
Delphi-Quellcode:
var
  PowerPointApp: OleVariant;
  Pfad: string;
begin
  try
    PowerPointApp := CreateOleObject('PowerPoint.Application');
  except
    ShowMessage('Fehler beim Erzeugen einer PowerPoint Instanz...');
    Exit;
  end;
  PowerPointApp.Visible := True;
  Pfad := 'X:\PowerPoint Presentation.ppt';
  PowerPointApp.Presentations.Open(Pfad, False, False, True);
  PowerPointApp.ActivePresentation.SlideShowSettings.Run;
  PowerPointApp := Unassigned;
end;

PPaB 9. Jan 2010 18:12

Re: Direkt Präsentation mit Powerpoint starten
 
Perfekt danke. Hat super geklappt!


Alle Zeitangaben in WEZ +1. Es ist jetzt 13:02 Uhr.

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz