- PR -

VB2005でwordのVBAを作動させたい。

投稿者投稿内容
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-08-22 14:38
VBからVBAの作動で、
http://support.microsoft.com/default.aspx?scid=kb;ja;306682
を参考に、参照設定し、

Dim oWord As Word.ApplicationClass
と記述しましたが、Word.ApplicationClassがチェックされ、型'Word.ApplicationClass'が定義されていません」となります。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-08-22 14:46
さかもとです。

おそらく参考リンク先の

5.Button1_Click プロシージャに以下のコードを貼り付けます。

まで書いていて、

----------------------------------------
8.Form1.vb の先頭に次のコードを追加します。
Imports Access = Microsoft.Office.Interop.Access
Imports Excel = Microsoft.Office.Interop.Excel
Imports Word = Microsoft.Office.Interop.Word
Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
----------------------------------------

を追加していないだけかと。


kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-08-22 14:58
Imports Access = Microsoft.Office.Interop.Access
Imports Excel = Microsoft.Office.Interop.Excel
Imports Word = Microsoft.Office.Interop.Word
Imports PowerPoint = Microsoft.Office.Interop.PowerPoint
で、wordで必要なのは3行目だけで、OKですが、まあアクセスも利用したいので1行目と4行目が、「名前空間または型が、パブリックメンバを含んでいないか、または見つかりません」です。
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-08-22 15:00
wordとexcelは2003ですが、accessとppは2000です。
さかもと
ぬし
会議室デビュー日: 2004/05/14
投稿数: 586
投稿日時: 2006-08-22 15:08
さかもとです。

とりあえず、ちゃちゃっと参照先サイトを見てやってみましたけど、ちゃんと動きますね。

提示されているようにOfficeのバージョンの問題でしょう、たぶん。

となれば、次の検索キーワードは
「VB VBA オートメーション Office2000 」
あたりでしょうか?

[ メッセージ編集済み 編集者: さかもと 編集日時 2006-08-22 15:09 ]
じゃんぬねっと
ぬし
会議室デビュー日: 2004/12/22
投稿数: 7811
お住まい・勤務地: 愛知県名古屋市
投稿日時: 2006-08-22 15:11
引用:

kojiro_i619さんの書き込み (2006-08-22 15:00) より:

wordとexcelは2003ですが、accessとppは2000です。


このご投稿からして、何が悪いかは目星がついているのではないでしょうか。
オブジェクト ブラウザで 「Access」 と 「PowerPoint」 のシンボルを検索しましょう。

# この名前空間に関する質問、最近やたらと多いですね。(MSDN フォーラムにも最近ありました)

_________________
C# と VB.NET の入門サイト
じゃんぬねっと日誌
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-08-22 15:21
すみません。さかもとさんのアドバイスの検索は、やたら出て、またじゃんむねっとさんのオブジェクトブラウザには、なにも表示されていませんが(;^^)
kojiro_i619
大ベテラン
会議室デビュー日: 2006/08/17
投稿数: 100
投稿日時: 2006-08-22 16:12
Imports System.data
Imports System.Data.OleDb
'Imports Access = Microsoft.Office.Interop.Access
Imports Excel = Microsoft.Office.Interop.Excel
Imports Word = Microsoft.Office.Interop.Word
'Imports PowerPoint = Microsoft.Office.Interop.PowerPoint

Public Class Form1
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
Dim oWord As Word.ApplicationClass
Dim path As String

'Start Word and open the document.
path = "c:\kenkou_VB1\MTKNWIN\MTKNWORD\make_d1.doc"
oWord = CreateObject("Word.Application")
oWord.Visible = True
oWord.Documents.Open(path)

'Run the macros.
oWord.Run("autoopen")
アクセスとPPは今は使わないのでWORDだけを考えて、上記のようにしましたら、マクロは走りましたが、最後の行が緑色に着色され、
「コントロールが表示されていない、利用できない、またはフォーカスを持てないため、そのコントロールにフォーカスを移すことはできません。」と帰ってきました。
テキストボックスを用意する必要があったのでしょうか?ボタンだけでやりましたが。

スキルアップ/キャリアアップ(JOB@IT)