[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]
『【VBA】shell関数内、「での引数の記述について』(もも)
お世話になります。
下記のコードで実行したところ、shell関数の部分で
「ファイルが見つかりません」とのエラーが発生します。
フォルダ内にマクロを記述したExcelファイルとPDFファイルが
一緒に入っている状態です。
また、「DIR_PATH = "\\●●●\ "」でpdfの入っているフォルダを指定しています。
かなり初歩的な記述ミスだとは思うのですが
色々試行錯誤しているうちに泥沼に嵌り、よく分からない状態です。
ちなみに下記の「DIR_PATH & fl_name」の部分を「"フルパス"」にすれば
動作することを確認しました。
どのように記述すれば、動作するのでしょうか?
教えてください。
Sub フォルダ内のPDFをWORDで開く()
Const DIR_PATH = "\\●●●\ " Dim fl_name As String fl_name = Dir(DIR_PATH & "\*.pdf") Dim path0 As String path0 = ThisWorkbook.path Dim fs As Scripting.FileSystemObject Dim basefolder As Scripting.Folder Dim mysubfiles As Scripting.Files Dim mysubfile As Scripting.File Set fs = New Scripting.FileSystemObject Set basefolder = fs.GetFolder(path0) Set mysubfiles = basefolder.Files
For Each mysubfile In mysubfiles
If InStr(mysubfile.path, ".pdf") > 0 Then
Shell ("C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE" & DIR_PATH & fl_name), vbNormalFocus End If
Next
End Sub
< 使用 Excel:Excel2016、使用 OS:Windows10 >
アプリケーションとファイル名に間に半角スペース が必要だったように思います。 (OK) 2020/10/02(金) 20:43
あるいは、アプリケーションのパスにスペースが含まれる ことがエラーの原因? ※未検証です。 (OK) 2020/10/02(金) 20:45
Shell "WINWORD.EXE " & DIR_PATH & "\" & mysubfile, vbNormalFocus
たぶん。 (BJ) 2020/10/02(金) 22:32
(マナ) 2020/10/03(土) 09:26
ということで、ファイルパスの方にも半角空白が含まれる可能性はあると思うので、
Shell """C:\Program Files (x86)\Microsoft Office\Office16\WINWORD.EXE"" """ & DIR_PATH & fl_name & """", vbNormalFocus
ワードをインストールするときにたいていパスは通していると思うので、下記でもOKだと思う。
Shell "WINWORD.EXE """ & DIR_PATH & fl_name & """", vbNormalFocus
(hatena) 2020/10/03(土) 12:03
>また、「DIR_PATH = "\\●●●\ "」でpdfの入っているフォルダを指定しています。
>fl_name = Dir(DIR_PATH & "\*.pdf")
>ちなみに下記の「DIR_PATH & fl_name」の部分を「"フルパス"」にすれば
これ、本当にこうなのでしょうか? フルパスだとどうなるのか見てみたいのでフルパスを書いてください。 (BJ) 2020/10/03(土) 13:34
フォルダ内というのは、DIR_PATH、
それとも、ThisWorkbook.path ???
ちなみにワードマクロだと、こんな感じでしょうか。
Sub フォルダ内のPDFをWORDで開く() Const DIR_PATH = "\\●●●\ " Dim fl_name As String
fl_name = Dir(DIR_PATH & "*.pdf")
Do While fl_name <> "" Documents.Open DIR_PATH & fl_name fl_name = Dir Loop
End Sub
(マナ) 2020/10/04(日) 14:06
[ 一覧(最新更新順) ]
YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki.
Modified by kazu.