- 締切済み
C#からパワーポイントを表示
C#でパワーポイントの資料を立ち上げて表示したいと思っていますが、 うまくいきません。 どうかアドバイスをよろしくお願いします。 使用している環境は Windows XP Office 2003 Visual Studio 2005 です。 私が書いたソースは下記の通りです。 これを実行すると、パワーポイントのからっぽのものが 立ち上がりpptpathでしているファイルの中身が表示されない 状態となります。 よろしくお願いいたします。 以下、内容------------------- 「参照」でMicrosoft Object Libraryを読み込んでおり、 また以下をusingで指定します。 using System; using System.IO; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Text; using System.Windows.Forms; using Microsoft.Office.Interop.PowerPoint; using Microsoft.Office.Core; ・・・・以下が関数の該当部分です。 ApplicationClass app = new ApplicationClass(); app.Visible = MsoTriState.msoTrue; Presentation ppt = app.Presentations.Open(pptpath, MsoTriState.msoFalse, MsoTriState.msoFalse, MsoTriState.msoFalse); app.Activate(); よろしくお願いします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- chie65536(@chie65535)
- ベストアンサー率44% (8800/19958)
追記。 第2パラメータは、特に「"open"でなければならない」と言う事はありません。 このパラメータは「ファイルの関連付けのリストの、どれを行うかを指示するもの」です。 例えば、MS-Word(ワード)の文書であれば、関連付けは、レジストリの HKEY_CLASSES_ROOT\Word.Document.8\shell にあります(バージョンによって多少異なります) ここには、普通の状態であれば「New」「open」「print」「printto」のキーがあります。 つまり「ファイルの関連付けで出来る事が、4つある」と言う事で、言い換えれば「ShellExecuteの第2パラメータに"New"、"open"、"print"、"printto"の4つのうちのどれかを指定出来る」と言う事です。
- chie65536(@chie65535)
- ベストアンサー率44% (8800/19958)
ShellExecute(hWnd,"open","C:\\Documents and Settings\\User\\My Documents\\UserFile.ppt",NULL,""C:\\Documents and Settings\\User\\My Documents",SW_SHOWDEFAULT); 以上。 このAPI関数は「シェルに対し、指定したファイルを、指定のディレクトリをカレントディレクトリとして開け」と言うだけです。 与えた「指定したファイル」が何のファイルかは関知しません。 もし、拡張子が「パワーポイントのファイルの拡張子」であれば、シェル(エクスプローラー)が「ファイルの関連付け」から該当の拡張子を捜し、その拡張子のファイルを扱うアプリケーションを起動し、指定したファイルをアプリに渡します。 但し「どのアプリが起動されるかは、そのパソコンの、ファイルの関連付けに依存する」ので「パワーポイントが立ち上がるとは限らない」ので注意する事。 場合によっては「関連付けがなく、何も動かないか、アプリ選択ダイアログが出る」とか「OpenOfficeなど、パワーポイントの互換ソフトが起動」するかも知れない。