2012-03-07 27 views
0

ファイルパスだけですべての種類のファイルをExcel vbaから開くことはできますか?今、私はシンプルでワークブックを開くことができます。myDestFilePathは本当に.PPTXファイルまたは任意の他であるファイルパスExcel-VBAでファイルを開く

Workbooks.Open myDestFilePath 

が、何か?

+0

を ' (その種類のファイルに対して既存のファイルタイプの関連付けがあると仮定して) –

+0

http://www.erlandsendata.no/english/index.php?d=envbafoldersfileopenまたはhttp: // sup port.microsoft.com/kb/170918 –

答えて

0

Excel VBAを絶対に使用して他のアプリケーションを自動化できますが、そのタスクには正しいアプリケーションオブジェクトを使用する必要があります。 PowerPointファイルを開く場合は、PowerPointを使用してファイルを開く必要があります。ここでは、粗例です:あなたの質問は「私は他のアプリケーションで作成されたファイルを開くためにExcelを使用することができます」されている場合

'remember to add the powerpoint object library (Tools->References) 
Sub OpenPPTFile() 
    Dim pptApp As PowerPoint.Application 
    Dim pptPres As PowerPoint.Presentation 

    Set pptApp = New PowerPoint.Application 

    Set pptPres = pptApp.Presentations.Open("filename.pptx") 

    'here you can add code to have powerpoint do all kinds of nifty things to your file 

    pptPres.Close 

    pptApp.Quit 

    Set pptPres = Nothing 
    Set pptApp = Nothing 
End Sub 

ので、短い答えはノーです。ただし、「Excel VBAを使用して他のアプリケーションを自動化して、Excel以外のファイルで操作を実行することはできますか?」という質問がある場合答えははいです。

+0

pptxファイルは既に作成されています...ユーザーが情報を入力した後に開くだけです...ファイルパスが見つかりました。ファイルパスがあると、その場所にある文書を開きたいと思っています。 – thebiglebowski11

+0

私はパワーポイント以外の何かを開いている可能性があります。おそらくワード文書やその他のCADソフトウェア文書 – thebiglebowski11

+0

一般に、VBA内からこれを行う場合は、Officeドキュメントに限定されますその特定のアプリのためにあなたに提供されます)。もし私が尋ねることができたら、ファイルを開いたらファイルに何をやっていますか? – hexboy

1

ShellExecute VB関数を使用できます。 APIヘッダーを宣言するだけで、関連するアプリケーションでファイルを直接開くことができます。ここではサンプルコードです:リンクについて

http://www.tomasvasquez.com.br/blog/microsoft-office/usando-a-funcao-shellexecute-no-vba

申し訳ありませんが、私は私のiPadからこの答えを書き、そしてここにコードをフォーマットするために、その恐ろしいのです。 :(

2

APIなしで、内部コールを使用するには、私は

ThisWorkbook.FollowHyperlink "FilePath" 

は、例えば

を開けないことがあまり見つかっていない:あなたが使用することができます

ThisWorkbook.FollowHyperlink "D:\My documents\Movie.mov" 
関連する問題