web-dev-qa-db-ja.com

非.txtテキストファイルとのデータ接続のExcelファイル選択確認をバイパスします

別のプログラムからのモデル出力を処理するExcelワークブックがあります。このプログラムは、拡張子が"。plt"のスペース区切りのプレーンテキスト出力ファイルを生成します。これらのデータを取り込むためにExcelにデータ接続がありますが、必要以上にクリックが必要です。現在のワークフローは次のとおりです。

  1. 他のモデルを実行します。
  2. Excelで、[データ]-> [すべて更新]をクリックします
  3. 開いたファイルダイアログボックスで、"テキストファイル(* .prn、* .txt、* .csv)"をクリックします。
  4. プルダウンが表示されます-クリックします:"すべてのファイル(*。*)"
  5. リストからファイル名を選択します(ファイル名は変更されません-常に"Output.plt"
  6. 選択"インポート。"

ここから、データ接続のすべての設定(場所、テキストから列など)が記憶されます。ただし、ファイル名は変更されないため、ファイル名を記憶したいので、1つまたは2つしかありません。 5ではなくクリック。

これらすべての手順を実行してマクロを記録しようとしましたが、VBAに表示されたのはActiveWorkbook.RefreshAllだけです。

3
Adam

ファイル名の入力を求めるオプションがあります。

[データ/接続]に移動し、接続を選択して、[プロパティ]をクリックします。

更新制御セクションの[使用状況]タブで、[更新時にファイル名の入力を求める]チェックボックスをオフにします。

3
Jon
Dim File_Path As String
File_path=" C:\Users\owner\John\Output.plt"
Open File_Path for Input as #1
row_num= 5
Do until EOF(1)
Line Input #1, Line_FromFile
Line_Items = Split(Line_FromFile, ",")
Range("C"&row_num).Value = Line_Items(2)
Range("B"&row_num).Value = Line_Items(1)
Range("A"&row_num).Value = Line_Items(0)
row_num = row_num + 1
Loop
Close #1
0
cybernard