|
▼VBA初心者 さん:
かみちゃん こんにちは
SendKey 知りませんでした。すばらしい
さて、VBA初心者 さん
SendKeyはアクティブなウィンドウに返すようです(Helpより)。
つまり、myFileOpenを呼び出した時、たいしょうのExcelがアクティブでないと、うまく動作しません。VBEからの時、うまく動作しませんでした。
そこで、Offce XP 以降なら、下記のような方法もあります。
'以下コード
Sub myFileOpen()
Dim Fn As String
Dim ret As Long
With Application.FileDialog(msoFileDialogFilePicker)
With .Filters
.Clear
.Add "特殊テキストファイル(*.xms)", "*.xms"
End With
.FilterIndex = 1
.InitialFileName = "ABC*"
ret = .Show
If ret = 0 Then Exit Sub
Fn = .SelectedItems(1)
'以下かみちゃんより
Workbooks.OpenText Filename:=Fn, Origin:=932, StartRow:=1, _
DataType:=xlDelimited, TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=False, Tab:=True, Semicolon:=False, _
Comma:=True, Space:=False, Other:=False, _
FieldInfo:=Array(Array(1, 1), Array(2, 2)), _
TrailingMinusNumbers:=True
End With
End Sub
|
|