|
▼かみちゃん さん:
ヒントありがとうございます。
参考に今日作ってみました。
開いているフォルダと同じファイル内にあるエクセルファイルを
リストボックスに表示させます。
Private Sub UserForm_Initialize()
'開いているファイルと同じフォルダ内にあるファイル名の取得
Dim xlname As Variant
xlname = Dir(ActiveWorkbook.Path & "\*.xls")
Do Until xlname = ""
ListBox1.AddItem = xlname
xlname = Dir
Loop
End Sub
同じ作業をするマクロを作ったのですが・・・、
いざやってみると、「フォルダが読み取り専用です」と
メッセージが出て止まってしまいました。
読み取り専用は別に関係ない筈なのですが、理由が分かりません。
ちなみに以下の通りです。
Private Sub CommandButton1_Click()
Dim open_file As Variant '開いているファイル
open_file = ActiveWorkbook.Name
xlname = Dir(ActiveWorkbook.Path & "\*.xls")
Do While ActiveWorkbook.Path & ListBox1.Value <> ""
'最初に開いているファイルはそのまま作業する
If ListBox1.Value = open_file Then
data_drain '作業マクロ
Else '同フォルダ内のエクセルファイル
Workbooks.Open ActiveWorkbook.Path & ListBox1
data_drain '作業マクロ
ActiveWorkbook.Close False '保存せずに閉じる
End If
xlname = Dir
Loop
Workbooks(open_file).Activate '最初に開いているファイルを表示
MsgBox "終了しました"
End Sub
|
|