- - PR -
VB2005でwordのVBAを作動させたい。
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 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だけを考えて、上記のようにしましたら、マクロは走りましたが、最後の行が緑色に着色され、 「コントロールが表示されていない、利用できない、またはフォーカスを持てないため、そのコントロールにフォーカスを移すことはできません。」と帰ってきました。 テキストボックスを用意する必要があったのでしょうか?ボタンだけでやりましたが。 | ||||||||
|
投稿日時: 2006-08-22 16:37
wordのVBAを、起動時にフォームが現れるようにしたautoopenを設定したためだとわかりました。普通のマクロに設定しなおすと、みごとにエラー無しに、マクロが実行されました。はじめて経験したので、すごく感激しました。(;^^)
| ||||||||
|
投稿日時: 2006-08-22 16:40
さかもとです。
VBAが・・・とか書いていたら解決したそうなので・・・。 解決、おめでとうございます。 調べ方などが分かってくると徐々に先に進めるかと思いますので、 諦めずに一つずつ難問を解いていきましょう(自戒を含め) [ メッセージ編集済み 編集者: さかもと 編集日時 2006-08-22 16:42 ] | ||||||||
|
投稿日時: 2006-08-22 17:02
あえてお尋ねします。autopenでwordのフォームを開かせます。以下
Sub autoopen() UserForm1.Show End Sub これを実行するには、どうなのでしょうか?フォーカスうんぬんをエラーで言っていますが、良い方法がありませんでしょうか?いうなれば、「VB2005でWORD2003のフォームを実行させる方法」です。 | ||||||||
|
投稿日時: 2006-08-22 17:25
当方では、問題なく UserForm を表示することができました。
エラーの内容は、正しく書いて頂かないと回答はつきにくくなります。もう少し客観的に、ご自身の質問内容を見るようにすると良いと思います。 _________________ C# と VB.NET の入門サイト じゃんぬねっと日誌 | ||||||||
|
投稿日時: 2006-08-23 08:56
じゃんぬねっとさんのご指摘のように、WORDのVBA側に、問題がありました。
WORD_VBAの最後で、以下の記載をして、WORD文書を閉じたのに、 ActiveDocument.Close Application.Quit VB側で、更に記載をしているのが問題だったかと、 oWord.Quit() System.Runtime.InteropServices.Marshal.ReleaseComObject(oWord) WORD_VBAを修正すると、フォームで実行できました。ただし、フォームをcloseしないと、VBに戻れず、そこが難点ですので、修正しようと思います。 |