• 締切済み

ファイルオープンのVBAの書き方教えてください

テキストデータの中に含まれる改頁マークや改行マークや空白など通常の印刷では印刷されないものをゲラ刷り印刷したときに目で見える適当な記号に置換してチェックできるようなことを目指しています。VBAを勉強したことがないのでキー操作を記録してそのようなマクロを作ろうとしています。以下が記録されたソースですが、これだとgera.txtというファイルが他のディレクトリーやドライブにあった場合にはエラーになります。どのドライブにあろうが、どのディレクトリーにあろうがエクスプローラーのファイルを参照する窓のようなものが開いて、gera.txtを探せるような汎用的なファイルオープンができるようにしたいのですが、どのように書き直せばそのようになるのか教えていただけると助かります。 ----(VBAソース) Sub ゲラ刷り() ' ' ゲラ刷り Macro ' 記録日 2007/08/13 記録者 ' ChangeFileOpenDirectory "D:\変換\" Documents.Open FileName:="gera.txt", ConfirmConversions:=False, ReadOnly:= _ False, AddToRecentFiles:=False, PasswordDocument:="", PasswordTemplate:= _ "", Revert:=False, WritePasswordDocument:="", WritePasswordTemplate:="", _ Format:=wdOpenFormatAuto, XMLTransform:="", Encoding:=932 Selection.WholeStory Selection.Find.ClearFormatting Selection.Find.Replacement.ClearFormatting With Selection.Find .Text = Chr(13) .Replacement.Text = "△" & Chr(13) & Chr(10) .Forward = True .Wrap = wdFindAsk .Format = False .MatchCase = False .MatchWholeWord = False .MatchByte = False .MatchAllWordForms = False .MatchSoundsLike = False .MatchWildcards = False .MatchFuzzy = True End With ----(以下省略)

みんなの回答

  • imogasi
  • ベストアンサー率27% (4737/17070)
回答No.2

色々方法があるようだが、WEBにあった例で (1)ファイル選択ー>ファイル名捕捉まで ファイル選択について、(フォルダ選択はコメント化した部分) MsgBox FileSelect のところでフルパスのファイル名が捉えられる。ので これでファイルを開く。 Sub test01() Dim varSelectedFile As Variant 'Application.FileDialog(msoFileDialogFolderPicker).Show Set x = Application.FileDialog(msoFileDialogFilePicker) If x.Show = True Then For Each varSelectedFile In x.SelectedItems FileSelect = varSelectedFile Next MsgBox FileSelect Else MsgBox "閉じた" End If End Sub ーー (2)指定ファイルが開くまで行く ワ-ドの場合は Sub test04() Application.Dialogs(wdDialogFileOpen).Name = "*.doc" vntRet = Application.Dialogs(wdDialogFileOpen).Show End Sub でファイルを指定すると、開くまで行ってしまう。 エクセルでも、その点同じだが Sub test01() vntRet = Application.Dialogs(xlDialogOpen).Show(arg1:="*.xls") End Sub で、少し違うようで戸惑った。(同じような方法もあるのかも知れず これしかないと私の力では、いえませんが、上記はテスト済み)

akipychan
質問者

お礼

早速の書き込みありがとうございます。目的は指定ファイルが開くまで行くでしたので(2)を組み込んだらうまくいきました。助かりました。本当にありがとうございましたm(__)m

  • kokorone
  • ベストアンサー率38% (417/1093)
回答No.1
akipychan
質問者

お礼

早速の書き込みありがとうございました。ご指摘の場所を見ました。うまくいきました。本当にありがとうございましたm(..)m

関連するQ&A