[[20221201114854]] 『パス指定でエラー』(コンスト) ページの最後に飛ぶ

[ 初めての方へ | 一覧(最新更新順) | 全文検索 | 過去ログ ]

 

『パス指定でエラー』(コンスト)

path を設定する場合
  Const path As String = "D:\test\"
で上手く処理できる時に
毎回コードを書き換えるのは面倒なので
ダイアログでPathを選択するようにしたく
以下のようにコードを変更してみましたが

.SelectedItems(1)で
  コンパイルエラー: 定数式が必要です
となります。

どうすれば良いでしょうか ?

'ダイアログでPathを選択
With Application.FileDialog(msoFileDialogFolderPicker)
If .Show = True Then
Const path As String = .SelectedItems(1) & "\"
End If
End With

< 使用 Excel:Office365、使用 OS:Windows10 >


 定数にする意味がないので、素直に変数でやればよいのでは?

(白茶) 2022/12/01(木) 12:01:35


マクロ内で変動しない場合でも、宣言時に右辺が関数等で変動する値の時はConstできないですよ
(ngk) 2022/12/01(木) 12:26:45

 横から失礼します。

 参考まで。

http://www.officetanaka.net/excel/vba/variable/13.htm
(MK) 2022/12/01(木) 13:10:01


定数にする意味がないので、素直に変数でやればよいのでは?

Const path As String = "D:\test\" を以下に置き換えると

Dim path As String
path = "D:\test\"

Set Shel = CreateObject("Shell.Application")
Set Foldr = Shel.Namespace(path)

Target = Dir(path & "*.mp4")

以後のDo While 文内でエラーが出ます。
実行エラー91: オブゼクト変数またはwithブロック変数が設定されていません。
 Cells(cnt, 1) = Foldr.GetDetailsOf(Foldr.ParseName(Target), 0) ' ファイル名

(コンスト) 2022/12/01(木) 13:14:41


コメント返信:

[ 一覧(最新更新順) ]


YukiWiki 1.6.7 Copyright (C) 2000,2001 by Hiroshi Yuki. Modified by kazu.