投稿日 | : 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 なのですから。