[[20140917214830]] 『テキストデータ読み込み』(パパス) ページの最後に飛ぶ

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

 

『テキストデータ読み込み』(パパス)

初めて!よろしくお願い致します。

デスクトップに作成されたテキストデータを
Sheet1のA1に張り付ける為に以下のマクロを組んでいるのですが、、

********

Sub test()
Sheets("Sheet1").Select
    Range("A1").Select

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;C:\Users\papath\Desktop\txt.txt", Destination:=Range _
        ("A1"))
        .Name = "ht_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With

End Sub

********

どの端末でも使える万能なマクロにするために、
テキストデータを都度選択するようなマクロを組みたいと思っています。
どのように修正すればよろしいでしょうか?

ご教示よろしくお願い致します。

パパス

< 使用 Excel:Excel2010、使用 OS:Windows8 >


 ダイアログで選択させる方法です。

 14 . ユーザーからの入力を受け付ける
http://www.big.or.jp/~seto/vbaref/vbaref14.htm

 でダイアログで選択したファイルを変数に格納して
 その変数をテキストファイルを貼り付ける部分のコード
 に渡してやります。
(カリーニン) 2014/09/17(水) 22:36

 ダイアログで開くフォルダを指定する場合は↓が参考になると思います。

 ファイルを開くダイアログではじめに開くフォルダを設定する
http://vbaexcel.seesaa.net/article/148313379.html

 なお、デスクトップは

 CreateObject("WScript.Shell").SpecialFolders("Desktop")

 とすれば現在のユーザーのデスクトップを指定できます。
(カリーニン) 2014/09/17(水) 23:43

カリーニンさん

すぐにご回答頂きありがとうございます!
ファイルを開くダイヤログがあるんですね!
でもどう記述していいか分からず難しそう…

ということで、もうひとつ教えて頂いた、
CreateObject("WScript.Shell").SpecialFolders("Desktop")
を使ってマクロボタン一つで作成したいと思うのですが、
うまく回りません…
今一度助けて頂けますでしょうか?

******

Sub test()
Sheets("Sheet1").Select
    Range("A1").Select

DesktopPath = CreateObject("WScript.Shell").SpecialFolders("Desktop")

    With ActiveSheet.QueryTables.Add(Connection:= _
        "TEXT;DesktopPath\txt.txt", Destination:=Range _
        ("A1"))
        .Name = "ht_1"
        .FieldNames = True
        .RowNumbers = False
        .FillAdjacentFormulas = False
        .PreserveFormatting = True
        .RefreshOnFileOpen = False
        .RefreshStyle = xlInsertDeleteCells
        .SavePassword = False
        .SaveData = True
        .AdjustColumnWidth = False
        .RefreshPeriod = 0
        .TextFilePromptOnRefresh = False
        .TextFilePlatform = 932
        .TextFileStartRow = 1
        .TextFileParseType = xlDelimited
        .TextFileTextQualifier = xlTextQualifierDoubleQuote
        .TextFileConsecutiveDelimiter = False
        .TextFileTabDelimiter = True
        .TextFileSemicolonDelimiter = False
        .TextFileCommaDelimiter = False
        .TextFileSpaceDelimiter = False
        .TextFileColumnDataTypes = Array(1)
        .TextFileTrailingMinusNumbers = True
        .Refresh BackgroundQuery:=False
    End With
End Sub 

******

よろしくお願い致します。
(パパス) 2014/09/18(木) 10:35


"TEXT;" & DesktopPath & "\txt.txt"
(???) 2014/09/18(木) 12:50

 ダイアログでファイルを選択するコードのサンプルです。

 Dim WSH As Object
 Dim crdr As String
 Dim Ret As Variant

  Set WSH = CreateObject("WScript.Shell")
  'カレントディレクトリ取得
  crdr = CreateObject("WScript.Shell").CurrentDirectory

  'カレントディレクトリ変更/今回はデスクトップに変更
  CreateObject("WScript.Shell").CurrentDirectory = CreateObject("WScript.Shell").SpecialFolders("Desktop")

  '読み込むファイルをダイアログで指定
  Ret = Application.GetOpenFilename("テキストファイル(*.txt),*.txt")

  'キャンセルの場合
  If Ret = False Then
     MsgBox "キャンセルが選択されました。"
     'カレントディレクトリを戻す
     CreateObject("WScript.Shell").CurrentDirectory = crdr
     '終了
     Exit Sub
  End If

  'ダイアログで選択したファイルのパス
  MsgBox ret
  'テキスト読み込みのコードをここに書く

  'カレントディレクトリを戻す
  CreateObject("WScript.Shell").CurrentDirectory = crdr
(カリーニン) 2014/09/18(木) 19:40

???さん

そのように変更したら無事に回りました!
本当にありがとうございました!

カリーニンさん

最後までご指導ありがとうございました!勉強になりました!
(パパス) 2014/09/24(水) 19:48


コメント返信:

[ 一覧(最新更新順) ]


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