none
Aufruf von Powerpoint und Access RRS feed

  • Frage

  • Hallo an Alle,

    Frage 1:

    ich möchte im Programm eine Powerpointpräsentation aufrufen. Vermutlich stellt das, wenn Powerpoint auf dem Zielrechner installiert ist, kein Problem dar, was aber, wenn dort Powerpoint nicht installiert ist? Muss ich da als Verweis Microsoft.Office.Interop.PowerPoint einbinden? Würde das reichen? Muss ich noch mehr beachten?

    Frage 2:

    Ich habe eine eingebundene Access-DB. Ist es zur Weitergabe des Programms notwendig weitere als die Standardverweise (Microsoft.Office.Core) einzubinden, für den Fall, dass Access nicht auf dem Zielrechner vorhanden ist?

    Zu 1.

    Der Aufruf der Präsentation wird (und auf meinem Rechen auch erfolgreich)wie folgt realisiert:

                string dat =  @Environment.CurrentDirectory + "\\Hilfe\\Sprachtrainer.ppsx";
                try
                {
                    try
                    {
                        Process.Start(dat);
                    }
                    catch
                    {//Für die Ausführung im Debugmodus
                        dat = @Environment.CurrentDirectory.Substring(0, Application.ExecutablePath.IndexOf("bin")) + "Hilfe\\Sprachtrainer.ppsx";
                        Process.Start(dat);
                    }
                }
                catch { MessageBox.Show("Powerpointviewer konnte nicht gefunden werden"
                    + "\n\nVersuchen Sie die Datei\n" + dat + "\nmanuell zu öffnen.",this.Text); 
    }

    Vielen Dank für Eure Mühe im voraus!

    Ralf

     

    Dienstag, 15. November 2011 14:24

Antworten

  • Hallo Ralf,
     
    Zu 1:
    Wenn Powerpoint auf dem Rechner nicht installiert ist, dann passiert das gleiche, wie wenn Sie auf diesem Rechner eine Powerpoint-Datei öffnen. Es öffnet sich ein Dialog, der nachfragt mit welchem Programm die Datei geöffnet werden soll. Es reicht deshalb nicht Microsoft.Office.Interop.PowerPoint einzubinden. Es lässt sich aber überprüfen ob PowerPoint auf dem Rechner installiert ist. Dazu könnte man in der Registry nachschauen ob es den Schlüssel für PowerPoint gibt:
     
    using (var regWord = Registry.ClassesRoot.OpenSubKey("PowerPoint.Application")) 
    { 
        if (regWord == null) 
        { 
            Console.WriteLine("Microsoft PowerPoint. ist nicht vorhanden"); 
        } 
        else 
        { 
            Console.WriteLine("Microsoft PowerPoint ist vorhanden"); 
        } 
    }
    
    Zu 2:
    Sie können eine eingebundene Access-DB auf einem Rechner auch verwenden, wenn Access auf diesem Rechner nicht installiert ist, solange Sie den ODBC oder Jet als Connector verwenden. 
    Microsoft.Office.Core ist auf einem Rechner, auf dem kein Office installiert ist nicht vorhanden. Es lässt sich aber nachinstallieren [1]
     
     
     
     
     
    Viele Grüße,
    Thomas Fröhle
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.
    Dienstag, 15. November 2011 15:57
  • Hallo Ralf A,

    Könntest Du Dein Problem lösen?

    Thomas Fröhle hat Dich gefragt: “ Wollen Sie den PowerPointViewer in die Präsentation einbetten?” Mit PowerPoint Viewer ist folgender gemeint: PowerPoint Viewer (Microsoft PowerPoint Viewer lets you view full-featured presentations created in PowerPoint 97 and later versions.)

    Im folgendem Code wird PowerPoint Viewer verwendet um eine *.ppsx Datei, direkt mit der dritten Seite, zu anzeigen.

    [C# Code]

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    
    namespace PPTViewerTest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string ppviewer = @"C:\Program Files (x86)\Microsoft Office\Office14\PPTVIEW.EXE";
    
                System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo(ppviewer);
                startinfo.Arguments = @"C:\Temp\WP7_102210.ppsx /N3";
    
                System.Diagnostics.Process pptprocess = System.Diagnostics.Process.Start(startinfo);
    
                pptprocess.WaitForInputIdle();
    
            }
        }
    }
    

    Available switches and parameters for Office PowerPoint Viewer 2007

    Grüße,

    Robert

    • Als Antwort markiert Ralf A Freitag, 25. November 2011 12:14
    Montag, 21. November 2011 10:50
    Moderator

Alle Antworten

  • Hallo Ralf,
     
    Zu 1:
    Wenn Powerpoint auf dem Rechner nicht installiert ist, dann passiert das gleiche, wie wenn Sie auf diesem Rechner eine Powerpoint-Datei öffnen. Es öffnet sich ein Dialog, der nachfragt mit welchem Programm die Datei geöffnet werden soll. Es reicht deshalb nicht Microsoft.Office.Interop.PowerPoint einzubinden. Es lässt sich aber überprüfen ob PowerPoint auf dem Rechner installiert ist. Dazu könnte man in der Registry nachschauen ob es den Schlüssel für PowerPoint gibt:
     
    using (var regWord = Registry.ClassesRoot.OpenSubKey("PowerPoint.Application")) 
    { 
        if (regWord == null) 
        { 
            Console.WriteLine("Microsoft PowerPoint. ist nicht vorhanden"); 
        } 
        else 
        { 
            Console.WriteLine("Microsoft PowerPoint ist vorhanden"); 
        } 
    }
    
    Zu 2:
    Sie können eine eingebundene Access-DB auf einem Rechner auch verwenden, wenn Access auf diesem Rechner nicht installiert ist, solange Sie den ODBC oder Jet als Connector verwenden. 
    Microsoft.Office.Core ist auf einem Rechner, auf dem kein Office installiert ist nicht vorhanden. Es lässt sich aber nachinstallieren [1]
     
     
     
     
     
    Viele Grüße,
    Thomas Fröhle
    MSDN Hotline für MSDN Online Deutschland

    Disclaimer:
    Bitte haben Sie Verständnis dafür, dass wir hier auf Rückfragen gar nicht oder nur sehr zeitverzögert antworten können.
    Bitte nutzen Sie für Rückfragen oder neue Fragen den telefonischen Weg über die MSDN Hotline: http://www.msdn-online.de/Hotline
    MSDN Hotline: Schnelle & kompetente Hilfe für Entwickler: kostenfrei!

    Es gelten für die MSDN Hotline und dieses Posting diese Nutzungsbedingungen, Hinweise zu Markenzeichen Informationen zur Datensicherheit sowie die gesonderten Nutzungsbedingungen für die MSDN Hotline.
    Dienstag, 15. November 2011 15:57
  • Hallo Thomas,

    vielen Dank für Deine Antwort! Leuchtet auch ein...;)

    Wenn ich aber den Powerpointviewer als Verweis einbinde, dann müsste es doch gehen, oder?

    Dienstag, 15. November 2011 16:30
  • Hallo Ralf,

     

    den PowerPointViewer als Verweis einzubinden bringt Sie nicht weiter, wenn auf einem Rechner PowerPointViewer nicht installiert ist. Oder was meinen Sie mit "dann müsste es doch gehen"? Wollen Sie den PowerPointViewer in die Präsentation einbetten? Falls ja, dann sollten Sie die Präsentation anzeigen können.

    Viele Grüße,
    Thomas Fröhle

    Dienstag, 15. November 2011 16:39
  • nun... ich hatte mir vorgestellt, wenn ich die Installationsdatei des Viewers mit einbinde, und bei der Prüfung des laufenden Programms festgestellt wird, dass PP nicht installiert ist, dann soll die Viewer-Installation gestartet werden...

    Dienstag, 15. November 2011 17:15
  • Hallo Ralf A,

    Könntest Du Dein Problem lösen?

    Thomas Fröhle hat Dich gefragt: “ Wollen Sie den PowerPointViewer in die Präsentation einbetten?” Mit PowerPoint Viewer ist folgender gemeint: PowerPoint Viewer (Microsoft PowerPoint Viewer lets you view full-featured presentations created in PowerPoint 97 and later versions.)

    Im folgendem Code wird PowerPoint Viewer verwendet um eine *.ppsx Datei, direkt mit der dritten Seite, zu anzeigen.

    [C# Code]

    using System;
    using System.Collections.Generic;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Linq;
    using System.Text;
    using System.Windows.Forms;
    
    
    namespace PPTViewerTest
    {
        public partial class Form1 : Form
        {
            public Form1()
            {
                InitializeComponent();
            }
    
            private void button1_Click(object sender, EventArgs e)
            {
                string ppviewer = @"C:\Program Files (x86)\Microsoft Office\Office14\PPTVIEW.EXE";
    
                System.Diagnostics.ProcessStartInfo startinfo = new System.Diagnostics.ProcessStartInfo(ppviewer);
                startinfo.Arguments = @"C:\Temp\WP7_102210.ppsx /N3";
    
                System.Diagnostics.Process pptprocess = System.Diagnostics.Process.Start(startinfo);
    
                pptprocess.WaitForInputIdle();
    
            }
        }
    }
    

    Available switches and parameters for Office PowerPoint Viewer 2007

    Grüße,

    Robert

    • Als Antwort markiert Ralf A Freitag, 25. November 2011 12:14
    Montag, 21. November 2011 10:50
    Moderator
  • Hallo Ralf A,

    Ich gehe davon aus, dass die Antwort Dir weitergeholfen hat.
    Solltest Du noch "Rückfragen" dazu haben, so gib uns bitte Bescheid.

    Grüße,
    Robert

    Dienstag, 22. November 2011 11:30
    Moderator
  • Hallo Robert,

    sorry, hatte nicht mehr damit gerechnet eine Antwort zu bekommen und Deine Antwort deshalb jetzt erst entdeckt. Super! Vielen Dank! Das war wirklich hilfreich!

    Grüße

    Ralf

    Freitag, 25. November 2011 12:13
  • Super! Vielen Dank! Das war wirklich hilfreich!

    Hallo Ralf A, 

    Gerne. Freut mich dass Du es lösen könntest.

    Grüße,

    Robert

    Freitag, 25. November 2011 13:28
    Moderator