
お世話になります。
Excel2013を使用しています。
Aというブックのユーザーフォームを起動したら
Bというブックのシート1をユーザーフォームに表示させたいです。
スプレッドシートでは2007以降はないようでしたので、ブラウザで
Private Sub UserForm_Initialize()
Workbooks.Open ThisWorkbook.Path & "\B.xls"
With WebBrowser1
.Navigate2 ThisWorkbook.Path & "\B.xls"
End With
End Sub
これで試しましたがユーザーフォームには何も表示されませんでした。
ご教示よろしくお願い致します。
No.1ベストアンサー
- 回答日時:
2013ではなくて2010で試してみたのですみませんが、以下のようにしたら、一応、xlsxがユーザーフォーム上のWebブラウザコントロールの中で見れました。
(01)https://support.microsoft.com/ja-jp/help/982995/ …
の、「自分で解決する」のところの内容で、「reg」拡張子のファイルを作成
(好きな名前のテキストファイルに内容をコピペして、reg拡張子に変えるだけです。
(02)それをダブルクリックして実行
(03)IEを開いて、目的のxlsxファイルをその中にドラッグします
(04)開くか保存するかを聞かれるので、開く、を押すと、IEの中でxlsxが見えて、データの操作もできます。
(05)その状態になったら、ExcelのほうのWebブラウザコントロールの中でもxlsxファイルが見れるようです。
(06)イベントプロシージャを以下のようにしてみます。
Private Sub UserForm_Initialize()
WebBrowser1.Navigate2 ThisWorkbook.Path & "\B.xls"
End Sub
※事前に開かなくても良いようです。
(07)ユーザーフォームを開くと、xlsxファイルを開くか保存するかなどのダイアログが出ますので、「開く」を押します。
(08)Excelファイルが子ウィンドウとしていったん開き、自動的に非表示になり、ユーザーフォームのWebブラウザコントロールの中に内容が表示されます。
※2013だと、子ウィンドウが無いので、別ウィンドウでいったんひらき、それが非表示になってしまうかもしれませんね。
==========
ひとまず、こんな感じで開きましたが、実用に足るかどうかはちょっと微妙です。
そもそも、データや式の入力ができませんでした。
セルのコピペはできましたが・・・
(※2013以降は子ウィンドウが廃止されましたから、Excelウィンドウが2つ開いてしまうかもしれませんし、ユーザーフォーム上で逐一上書き保存しないと、閉じるときに保存を求められます。また、そのとき、非表示になったExcelウィンドウが残るだけになるかもしれません。あまり、正常な挙動ではありませんでした。)
xlsxではなくxlsでも同様の動きでした。
VNWareのWin2000で、Excel2000を使って、スプレッドシートコントロールを配置してテストもしてみましたが、別ブックのシートを表示する方法がわかりませんでした・・・。
Webブラウザコントロールでの挙動は、多少はよかったですが、データや式が入力できないのは同じでした・・・。
私の検索不足で、もっといい方法があるかもしれません。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
このQ&Aを見た人はこんなQ&Aも見ています
-
ユーザーフォームを表示中にシートの操作をさせるには
Excel(エクセル)
-
Excel VBA ユーザーフォーム1のコンボボックスに別ブックの値を反映させたいです。
Visual Basic(VBA)
-
VBAでユーザーフォームを再表示させたい。
Excel(エクセル)
-
-
4
別ブックからユーザーフォームを実行したい~!!
Visual Basic(VBA)
-
5
ユーザーフォームにワークシートを表示させる。
その他(Microsoft Office)
-
6
VBAでブックを非表示で開いて処理して閉じる方法
Excel(エクセル)
-
7
ユーザーフォームに別シートからデータを反映させたい。
Visual Basic(VBA)
-
8
EXCEL VBA セルに既に入力されている文字に文字を追加する
Excel(エクセル)
-
9
Excelで質問です。ListBoxの項目を別bookから読込むには
その他(Microsoft Office)
-
10
エクセルマクロで、別のブックが開いているかを判定したいのですが。
その他(Microsoft Office)
-
11
UserForm1.Showでエラーになります。
工学
-
12
VBA フォームのテキストボックスにセルの値を表示させたいが改行していたら改行もあわせて表示させたい
Excel(エクセル)
-
13
【VBA】【ユーザーフォーム_ListBox】オートフィルタで絞りこんだ値だけを取り出したい
Visual Basic(VBA)
-
14
VBAでfunctionを利用しようとしたときに「引数は省略できません」というエラーが出ます
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
ユーザーフォーム上に現在日時...
-
ExcelVBAのユーザーフォームの...
-
ユーザーフォームを表示中にシ...
-
クリックイベントなのに、2回ク...
-
ACCESSのフォーム、開くんです...
-
モーダルフォームとモードレス...
-
Microsoft Formsの「個人情報や...
-
ユーザーフォームのラベルに時...
-
エクセルVBAのフォームを最...
-
VB.NETでフォーム間でのコント...
-
Accessで、一つのフォーム画面...
-
Hideについて(.NET)
-
C#でボタンクリックをキャンセル
-
'ユーザーフォーム右上隅の[×...
-
コントロールの存在確認
-
フォームのアクティブと非アク...
-
VB.NETでフォームロード中のエ...
-
テキストボックス入力データの...
-
VBA フォームに入力された...
-
ユーザーフォームのコピー?
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
ユーザーフォームを表示中にシ...
-
ExcelVBAのユーザーフォームの...
-
Microsoft Formsの「個人情報や...
-
Form_Load と Form_Activate の...
-
VBAでユーザーフォームを再表示...
-
クリックイベントなのに、2回ク...
-
ユーザーフォーム上に現在日時...
-
テキストボックス入力データの...
-
VBAのテキストフォームの折り返...
-
ACCESSのフォーム、開くんです...
-
Hideについて(.NET)
-
ユーザーフォームのテキストボ...
-
エクセルVBAのフォームを最...
-
モーダルフォームとモードレス...
-
EXCEL VBA ユーザーフォームの...
-
フォームのテキストボックスな...
-
コントロールの存在確認
-
パソコンの画面に合わせてユー...
-
フォームウィンドウを最前面に...
-
Accessで、一つのフォーム画面...
おすすめ情報