• 締切済み

VisualBasic2008でWordを起動する場合の二重起動防止について

現在、VisualBasic2008を使ってWordを制御したいと勉強中の初心者です。 Wordを以下のコードを使って起動していますが、Wordが起動していない場合のみ以下のコードを実行することで二重起動を避けたいのですが、どのようなコードを記述すればよいのでしょうか。ご存知の方、教えていただけないでしょうか。 oDoc = New Microsoft.Office.Interop.Word.Application()

みんなの回答

  • Cmi
  • ベストアンサー率36% (132/364)
回答No.1

WORDを起動していると、WINWORD.EXEがプロセス上に現れますので、 それがあるかないかで判断すれば良いと思います。

makochan07
質問者

お礼

ありがとうございました。確認してみたいと思います。

関連するQ&A

  • VisualBasic2008でWord2003を制御したいです。

    現在、VisualBasic2008でWord2003で作成した表を段落記号で区切って解除するプログラムを作成しています。Wordのマクロでもできるのですが、VisualBasic2008でもWordのマクロと同じようにWordドキュメントを制御できるのか、勉強したくて作成しています。 以下は一部を抜粋したものですが、「名前Selectionは宣言されていません」というエラーがでてしまいます。他の箇所でも「Selection」を使っている部分ではエラーがでます。 どなたかご存知の方対処方法を教えていただけないでしょうか。 なにぶん初心者なもので、わかりやすくご指導いただけると幸いです。 Dim wdDoc As Microsoft.Office.Interop.Word.Document For Each tbl In wdDoc.Tables '表を選択 tbl.Select() '段落記号で区切って表を解除する Selection.Rows.ConvertToText(Separator:=wdSeparateByParagraphs) Next

  • 2重起動の防止方法

    Microsoft Visual C++6.0でアプリケーションの2重起動の防止を実現する方法を教えて下さい。

  • ワードやエクセルが起動できなくなりました

    WIN XP PROがOSの、DELLのノートPCですが、 今日、なぜかワードやエクセルが起動できなくなりました。 スタートから上記を起動しようとすると、必ず以下のメッセージがでるのです。 「メモリ不足のため、Microsoft Excelを起動できません。」 「実行するにはアプリケーションをインストールする必要があります。最初にこのアプリケーションをインストールした場所から、 セットアップを実行してください。」 しかし、RAMは1500つんでいますし、HDDも5G以上空きがあります。 最適化もこまめにしています。 念のためにofficeを全てアンインストールし、CDROMで再度インストールもしてみましたが、状況は同じです。OFFICEの修復も試みましたが、同じです。 以前にこのPCで作成したワード文書やエクセルデータをダブルクリックしても、やはり同じエラーメッセージがでます。 これはどうすれば解決できるか、おわかりのかたいらっしゃいますか。ぜひお助けください。

  • Wordが使えません

    自分のPCにインストールされているWordをつかうと 「Microsoft Office Wordは現在のユーザー用にインストールされていません。セットアップを実行してアプリケーションをインストールしてください。」 と出て閉じてしまいます。 再起動しても再インストールしても変わりませんでした。 どうすればいいのでしょうか?

  • AccessVBAからWordのマクロを実行するには

    [環境]Access2000,Word2000 AccessVBAでWordのオブジェクトをつくりファイルを開くところまでは たどり着いたのですが、開いたWordファイルにあるマクロを実行させる ことが出来ずに困っています。 WordオブジェクトのApplicationとDocumentsオブジェクトの関係も把握 しきれていないため、おかしなソースになっているかも知れません。 よろしくお願いします。 sub DoMacro() Dim oWrd as Word.Application Dim oDoc as Word.Document Set oWrd = New Word.Application With oWrd Set oDoc = oWrd.Documents.Open("c:\test.doc") .Visible = True .Application.Run ("Macro1") oDoc.SaveAs "c:\newTest.doc" .Quit End With End Sub

  • visualbasic2008で別アプリケーションを制御する

    visualbasic2008で別アプリケーションを制御する 初めて質問させて頂きます。 VisalBasic2008にて、リファレンスが公開されていないアプリケーションの制御をしたいと考えてます。 制御したいアプリケーションの起動は出来るのですが、その後、アプリケーションにて実施されるマウス等の手動操作のコマンドを取得し、VBにて手動操作を自動化させたいです。 だれか解る方おられましたら、教えて下さい。

  • Wordが突然起動しなくなった

    これまで普通に使えていた、Microsoft Office Word 2007が起動しなくなりWordファイルも開けなくなりました。 (Excelは普通に使用できます) Wordを起動しようとすると画像の様なメッセージボックスが出て大変困っています。

  • 入れたはずのWord(Microsoft Office)が…

    会社のパソコンなので元がどうなっていたかは不明なのですが、 Microsoft Office Word 2002がインストールされている状態で、 アプリケーションを起動する事は出来るのですが、 肝心なMicrosoft Office Word 2002自体がどこにも見当たりません。 隠しファイルで隠れているというのは勿論なく、いろいろ試してみたのですが、 検索にすら引っかかりません;; なのでアンインストールも出来ない上に、 新しくいれたであろうMicrosoft Office Word 2003で「プログラムから開く」を指定するとエラーメッセージが表示されて起動が出来ません; ※Microsoft Office Word 2003を起動してからファイルを開くことは出来ます。 どうしたらいいか対処策等ありましたらよろしくお願いします。

  • VisualBasic 2010

    VisualBasic 2010 でWindowsアプリケーションを作成しています。 以下のような構成を考えております。 ・FormA ・ClassA(FormAでの処理を行うクラス) FormA内でClassAをNewしてClassAのメソッドを使用するようにしています。 その際に以下のようなコーディングをすると意図した動作をしません。 FormA.Txt_Msg.Text = "aaa" ClassAからFormAに配置したコントロールのTextを変更したりすることは できないのでしょうか?。 またはやり方が間違っているのでしょうか? ご存知の方がいらっしゃればご教授お願い致します。

  • TextBoxに入力した文字をExcelに書き込むには?

    VB2008を使用しています。 VBフォーム内のTextBox1に入力した内容(例 りんご)をBottanを押すことによりExcelの指定したセル(例 A1)に書き込んで保存する方法はありますでしょうか? 現在、以下のところまでは出来ています。 ' excelを定義 Dim excel As New Microsoft.Office.Interop.Excel.Application ' excel testをファイルから開く Dim book As Microsoft.Office.Interop.Excel.Workbook book = excel.Workbooks.Open("C:\test.xls") ' 1枚目のワークシートを取得 Dim sheet As Microsoft.Office.Interop.Excel.Worksheet sheet = CType(book.Worksheets.Item(1), Microsoft.Office.Interop.Excel.Worksheet) Excelの開放からsheetの取得までは出来たのですが、ここから先がわかりません。よろしくお願いいたします。

専門家に質問してみよう