人気ブログランキング | 話題のタグを見る

初心者オサムシがExcelのマクロと戦う戦闘ブログである
by オサムシ
ダイアログボックス/マクロ基礎

ダイアログボックス/マクロ基礎


マクロでファイル操作をしてみよう

今回はダイアログボックスを開いてファイルを選択し、そのファイルのフルパスをExcelシートに入力する

ダイアログボックスでファイルを選択する関数は2種類ある

まずはExcelでのみ使える GetOpenFilename

もう一つはExcelでもWordのマクロでも使える FileDialog

今回は後者で書いてみます

sub sentaku
dim kekka as integer 'dimは変数の型宣言。integerは-32,768 ~ 32,767(正/負の整数値)
with application.filedialog(msofiledialogfilepicker) 'withは同じ関数を繰り返し使うとき

kekka = .show 'with後の関数を . (ドット) に省略できる。ダイアログボックスでキャンセルが押された場合、
.showで0が返ってくる


if kekka = 0 then 'このifはダイアログボックスでキャンセルボタンが押された場合、終了する為の記述
exit sub
end if

range("A1") = .selecteditems(1) 'この . も上と同じ
end with
end sub


例によって、スペルミスが無ければ下記のように各所大文字に変換されます
Sub sentaku()
Dim kekka As Integer
With Application.FileDialog(msoFileDialogFilePicker)

kekka = .Show

If kekka = 0 Then
Exit Sub
End If

Range("A1") = .SelectedItems(1)
End With
End Sub

それでは実行

まずダイアログボックスが開く
ダイアログボックス/マクロ基礎_d0285354_233531.jpg


ファイルを選択してOK押下で指定したセルにファイルのフルパスが入力された
ダイアログボックス/マクロ基礎_d0285354_23464.jpg


なにかとフルパスがほしい時あるよね

ファイルのプロパティからでもコピーできるけど、Excelが起動してるときならコレの方が楽ちん

個人用マクロブックに保存しておけば、どのExcelファイルからでも使えるから便利だよ

個人用マクロブック PERSONAL.XLSB への保存方法はまたの機会に詳しく書きます。osamushi

オサムシじゃーなる
by 03musi | 2012-12-19 23:32 | マクロ 基礎
<< マクロの書き方初歩の初歩(1)... コピー&ペースト/マクロ基礎 >>