Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


6253 / 76734 ←次へ | 前へ→

【76083】Re:入力フォーム
発言  kanabun  - 14/9/20(土) 0:03 -

引用なし
パスワード
   ▼勉強中 さん:
> 下の記述を改良して,マクロボタンを押すと,入力フォームのようなものが画面上にあらわれて,そこに例えば,「計算書1」や「収益表」と手入力して,OKボタンやENTERを押せば,デスクトップ上の当該名前のCSVファイルのデータを取り込むような記述にする方法を探しています。
>

そのQueryTables のまえに ファイル選択ダイアログを出すようにすれば、
ご希望の動作になるかと思います。

'------------------------------------------------------- 標準モジュール
Option Explicit
Declare Function SetCurrentDirectoryA Lib "kernel32" _
   (ByVal lpPathName As String) As Long
  
Sub データ取込()
  Dim deskTop$
  Dim csvName
  
  deskTop = CreateObject("WScript.Shell").SpecialFolders("Desktop")
  SetCurrentDirectoryA deskTop
  csvName = Application.GetOpenFilename("CSV,*.csv")
  If VarType(csvName) = vbBoolean Then Exit Sub
  
  With ActiveSheet.QueryTables.Add(Connection:= _
    "TEXT;" & csvName, Destination:=Range("A1"))
    .Name = CreateObject("Scripting.FileSystemObject"). _
        GetBaseName(csvName)

  (以下、略)

  (最後は、以下のようにするといいですよ)

    .Refresh BackgroundQuery:=False
    .Delete
  End With
4 hits

【76082】入力フォーム 勉強中 14/9/19(金) 23:05 質問
【76083】Re:入力フォーム kanabun 14/9/20(土) 0:03 発言
【76084】Re:入力フォーム カリーニン 14/9/20(土) 0:07 発言
【76085】Re:入力フォーム カリーニン 14/9/20(土) 0:12 発言
【76089】Re:入力フォーム 勉強中 14/9/20(土) 21:08 お礼

6253 / 76734 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free