• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:エクセルのマクロを利用したワードの開き方)

エクセルのマクロを利用したワードの開き方

このQ&Aのポイント
  • エクセルのマクロを使ってワードを開く方法を教えてください。
  • OSはWindows Meを使用し、エクセルとワードは2000を使用しています。
  • コードを使ってドライブ、フォルダ、ファイル名、拡張子を取得し、ワードを開けます。

質問者が選んだベストアンサー

  • ベストアンサー
  • TTak
  • ベストアンサー率52% (206/389)
回答No.1

「環境リストボックスでクリックされた()」プロシージャと「管理表シートから値を取り出す()」プロシージャをサブルーチンにすると良いのではないでしょうか。プロシージャを呼び出すにはCallステートメント(Callの省略可)を使います。 「選択されたファイルを開く()」プロシージャの最初に Call 環境リストボックスでクリックされた Call 管理表シートから値を取り出す の2行のコードを追加します。変数宣言はすべてプロシージャの外に記述されいるので、モジュール内で保持されます。ただ、 Dim 行, ドライブ, 親フォルダ, 子フォルダ, ファイル名, 拡張子, パス ではなく、 Dim 行 As String Dim ドライブ As String Dim 親フォルダ As String ・・・・ のように個々に宣言した方が良いです。 Option Explicit Dim 行, ドライブ, 親フォルダ, 子フォルダ, ファイル名, 拡張子, パス Dim フルパス As String Dim ワード As Object Dim ワード文書 As Object Sub 環境リストボックスでクリックされた() 行 = Worksheets("呼出").Cells(2, 1) + 1 '-管理表シートから値を取り出す '-選択されたファイルを開く End Sub Private Sub 管理表シートから値を取り出す() ドライブ = Worksheets("管理表").Cells(行, 2) 親フォルダ = Worksheets("管理表").Cells(行, 3) 子フォルダ = Worksheets("管理表").Cells(行, 4) ファイル名 = Worksheets("管理表").Cells(行, 5) 拡張子 = Worksheets("管理表").Cells(行, 6) End Sub Private Sub 選択されたファイルを開く() Call 環境リストボックスでクリックされた Call 管理表シートから値を取り出す パス = ドライブ & "\" & 親フォルダ & "\" & 子フォルダ フルパス = パス & "\" & ファイル名 & ".doc" 'フルパスを作成 If 拡張子 = "xls" Then Workbooks.Open Filename:=ファイル名 & ".xls", ReadOnly:=True ElseIf 拡張子 = "doc" Then Set ワード = CreateObject("Word.Application") 'Wordを起動する ワード.Visible = True 'Wordを表示する Set ワード文書 = ワード.documents.Open(フルパス) 'Word文書を開く End If End Sub

関連するQ&A