[リストへもどる]   [VBレスキュー(花ちゃん)]
一括表示

投稿時間:2007/08/09(Thu) 22:16
投稿者名:satok
Eメール:
URL :
タイトル:
VBからVisio2007のファイルを開きたい。
タイトルのとおり、VBからVisio2007のドキュメントを開く方法をおしえてください。

自分なりに以下のように作成してみたのですが、エラーが発生します。

        Dim appVisio As Microsoft.Office.Interop.Visio.Application
        Dim docVisio As Microsoft.Office.Interop.Visio.Documents

        appVisio = CreateObject("visio.application")
        docVisio = appVisio.Documents.Open("C:\sample.vsd")

参照設定で "Microsoft Visio **.* Type Library"を追加してあります。


初心者の質問ですいません。よろしくお願いします。

投稿時間:2007/08/10(Fri) 10:39
投稿者名:
Eメール:
URL :
タイトル:
Re: VBからVisio2007のファイルを開きたい。
少なくともappVisioとdocVisioはオブジェクトなんで

>         appVisio = CreateObject("visio.application")
>         docVisio = appVisio.Documents.Open("C:\sample.vsd")

は「Set」が必要ですよね。

実際どの部分でどのようなエラーが出るのか書いておいた方が
回答も貰いやすいと思いますよ。

投稿時間:2007/08/10(Fri) 12:44
投稿者名:魔界の仮面弁士
Eメール:
URL :
タイトル:
Re: VBからVisio2007のファイルを開きたい。
> Dim appVisio As Microsoft.Office.Interop.Visio.Application
それは、VB.NET 2002, VB.NET 2003, VB2005, VB2008 の場合でしょう。
ここは VB6 用の掲示板ですので、.NET 関係だとしたら板違いです。

もし、VB6 なのだとすれば、
 Dim appVisio As Visio.Application
という宣言になります。


> appVisio = CreateObject("visio.application")
参照設定しているのであれば、CreateObject を使うのではなく、
New キーワードを使って生成するようにしてください。

 '==== VB6の場合 ====
 Set appVisio = New Visio.Application

 '==== .NETの場合 ====
 appVisio = New Microsoft.Office.Interop.Visio.ApplicationClass()


> Dim docVisio As Microsoft.Office.Interop.Visio.Documents
> docVisio = appVisio.Documents.Open("C:\sample.vsd")
.Documents.Open の戻り値は、『Documents』ではなく『Document』型です。

 '==== VB6の場合 ====
 Dim docVisio As Visio.Document
 Set docVisio = appVisio.Documents.Open("C:\sample.vsd")

 '==== .NETの場合 ====
 Dim docsVisio As Microsoft.Office.Interop.Visio.Documents = appVisio.Documents
 Dim docVisio As Microsoft.Office.Interop.Visio.Document = docsVisio.Open("C:\sample.vsd")


なお、.NET の場合は、取得したそれぞれの COM オブジェクトに対して、
System.Runtime.InteropServices.Marshal.ReleaseComObject メソッドを
呼び出して、オブジェクトの解放を行わなければなりません。
(VB6 の場合は、オブジェクトの解放は自動的に行われます)


> 参照設定で "Microsoft Visio **.* Type Library"を追加してあります。

12.0 ですよね?? Visio 2007 なのですから。