No.3ベストアンサー
- 回答日時:
こんにちは。
Excelしかやったことがありませんが、エクスプローラを開いて、ドラッグ&ドロップすれば、ふつう、そのままでいけるはずですが?
それにチェック機能をつけるのでしたら、Office では、ユーザーフォームの[ツール]メニューの、[その他のコントロール]で、Microsoft Listview Control (SP4) があるかと思います。そのListview Control に 以下のように、OleDragDrop イベントをつければよいと思います。
以下のコードでは、Explorer は、自分で閉じてください。
Excelの場合。
サンプルコード
'<UserFormモジュール以外>
Sub uformShow()
Dim myPath As String, myID As Double
myPath = ThisWorkbook.Path
myID = Shell("Explorer.exe /e, /root," & myPath, vbNormalFocus)
If myID = 0 Then Exit Sub
UserForm1.Show 0
End Sub
'<ユーザーフォームモジュール>
Private Sub ListView1_OLEDragDrop(Data As MSComctlLib.DataObject, _
Effect As Long, Button As Integer, _
Shift As Integer, x As Single, y As Single)
Dim i As Long
With Me
AppActivate Me.Caption
.ListView1.ListItems.Clear
If Data.Files.Count < 1 Then Exit Sub
For i = 1 To Data.Files.Count
If InStrRev(Data.Files(i), "xls") > 0 Then
Workbooks.Open (Data.Files(i))
Else
MsgBox "Excelの標準ファイルではありません。", vbCritical
End If
Next i
End With
End Sub
Private Sub UserForm_Activate()
With Me.ListView1
.OLEDragMode = 1
.OLEDropMode = 1
.View = 2
End With
End Sub
ListViewにOleのイベントがあったんですね。
こっちらでも確認できました。
どうもありがとうございました。
また、よろしくお願いします。
No.2
- 回答日時:
>VBだとOleDragDropでいけるようですが
FormにVBのコントロールを貼り付ける、という手がありますね。
VB6のPictureBoxあたりでUserControlを作って、OleDragDropイベントを継承していれば実現できますが、ExcelやWord単体だと難しいかもしれませんね。
ちなみにOleDragDropを持っているDataGridをFormに貼り付けて、DragModeをManualにすれば取得は可能でした。
この回答への補足
こんにちは、どうもありがとうございます。
VB6の入っていない環境もあるので、
Application.Dialogs(xlDialogOpen).Show
あたりでファイルを指定することにします。
また、よろしくお願いします。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) エクセルVBA 4 2022/05/14 00:51
- Visual Basic(VBA) Excel ファイルを指定し、指定されたファイル内にシートを統合するVBA 8 2023/07/10 10:09
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Visual Basic(VBA) Outlook VBAについて 1 2023/07/10 12:41
- Excel(エクセル) フォルダ内のエクセルファイルを開かずにデータ採取する関数式 2 2022/12/22 22:15
- Access(アクセス) Access VBA を利用して、フォルダ内のファイルの名称を変更したい 1 2023/08/03 08:27
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Visual Basic(VBA) VBAコードを張り付け後のエクセルの進め方 2 2023/02/07 18:24
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- Visual Basic(VBA) VBAで特定の場所にあるCSVファイル(複数)から特定場所を抜き出してExcelに転記したいです。 11 2023/05/23 16:29
このQ&Aを見た人はこんなQ&Aも見ています
-
性格の違いは生まれた順番で決まる?長男長女・中間子・末っ子・一人っ子の性格の傾向
同じ環境で生まれ育っても、生まれ順で性格は違うものなのだろうか。家庭教育研究家の田宮由美さんに教えてもらった。
-
Access2013にてドラッグ&ドロップにてファイルパスを取得する方法
Visual Basic(VBA)
-
ドラッグアンドドロップでファイルを読み込む方法を教えて下さい。
Visual Basic(VBA)
-
ドラッグしたファイルのパスを取得したい
Visual Basic(VBA)
-
-
4
ACCESSでVBAから選択クエリの抽出条件を指定したい
Access(アクセス)
-
5
Accessのフォーム内、テキストボックスで文字をドラック&ドロップで移動させることはできるのでしょうか?
Access(アクセス)
-
6
エクセル(VBA)でドラック&ドロップの実現
Excel(エクセル)
-
7
VBAにてメッセージボックスを最前面に表示させる
その他(プログラミング・Web制作)
-
8
【VBA Excel】ドラッグアンドドロップをしたい
Excel(エクセル)
-
9
VBAでユーザーフォームの表示を確認
Visual Basic(VBA)
-
10
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
11
ListView 項目の選択/選択解除について
Visual Basic(VBA)
-
12
VBAをつかってクエリの情報を抽出するには??
Visual Basic(VBA)
-
13
VBAのテキストボックスに文字列を貼り付ける方法
Access(アクセス)
-
14
VB6でのDragDropの受け取り方
Visual Basic(VBA)
-
15
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
16
Excel VBA:フォーム←→セルのアクティブ切り替え
Excel(エクセル)
-
17
Accessでのレコード存在チェック
その他(データベース)
-
18
VBA ユーザーフォームのChangeイベントを停止したい
Access(アクセス)
-
19
ListViewから選択中の文字列を取得
Visual Basic(VBA)
-
20
ExcelVBAでセルを編集状態にする方法
Excel(エクセル)
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
カメラスクロールするのを動画...
-
ASP.netのエラー 2005から2008...
-
chr関数の呼び出しで「プロ...
-
EXCELでactivexコントロールを...
-
vb.netで画面のコントロールId...
-
もしフォームヘッダーにコント...
-
フォーム上の現在アクティブな...
-
WebBrowserコントロールの基本...
-
Groupboxの配下のコントロール...
-
[C#] ContextMenuStrip を呼び...
-
VBA ユーザーフォームの Keypre...
-
VB.NET 動的コントロールの存在...
-
C#で角が丸いテキストボックス
-
質問です。 場面緘黙症で苦しん...
-
カレンダーコントロール
-
ACCESSフォームにコント...
-
VBAのエラーについて、”実行時...
-
C# Form上に配置されたコントロ...
-
Excel2007 VBA ラジオボタン セ...
-
Visual Basic 6.0 でPanelを使...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
エクセル・VBA CheckBoxのオブ...
-
カメラスクロールするのを動画...
-
vb.netで画面のコントロールId...
-
C#,vb.netで業務用アプリ開発と...
-
EXCELでactivexコントロールを...
-
フォーム上の現在アクティブな...
-
ExcelVBAでListViewが使用できない
-
コンボボックスの文字によるif...
-
C#で角が丸いテキストボックス
-
エクセルVBAでオプションボタン...
-
ユーザーフォームで動的(Me.Con...
-
VBAのフォームでTextBoxがいっ...
-
アクセス特有の書き方?
-
エクセル コントロールツール...
-
間違えて配置してしまったコン...
-
変数をコントロール型で使用す...
-
(VBA)スピンボタンの大量...
-
Labelコントロールの(左右)余...
-
excelのリストボックスで選択し...
-
Excel VBA で Richtextboxを使...
おすすめ情報