InternetExplorerオブジェクトのRegisterAsDropTargetプロパティ

RegisterAsDropTargetプロパティは、設定またはオブジェクトはナビゲーションのためのドロップターゲットとして登録されているかどうかを示す値を取得します。

目次

スポンサー リンク

RegisterAsDropTargetプロパティとは

IEオブジェクトのRegisterAsDropTargetプロパティブラウザ上でドラッグアンドドロップ操作の可否を設定します。設定する値は、ブーリアン型(Boolean)になります。
例えば、通常ブラウザ上にある画像はドラッグアンドドロップ操作でフォルダへ保存することができますが、RegisterAsDropTargetプロパティをTrueに設定すると、ドラッグアンドドロップ操作ができなくなります。ただしテキストドキュメントを選択コピーすることは可能です。

objIE.RegisterAsDropTarget = ブーリアン型(Boolean)の値
変数 = objIE.RegisterAsDropTarget
構文object.RegisterAsDropTarget [= Boolean]
引数省略説明
object×表示させるIEオブジェクトの名前を指定します。
Booleanブラウザ上でドラッグアンドドロップ操作の可否を指定できます。値を設定する場合は省略できませんが、値を取得する場合は省略ができます。

引数Boolean

説明
Trueブラウザ上でドラッグアンドドロップ操作を禁止します。
Falseブラウザ上でドラッグアンドドロップ操作を許可します。デフォルトでは、Falseが既定値となります。

ブラウザ上でドラッグアンドドロップ操作を可否するサンプルコード

Sub sample()

  Dim objIE As InternetExplorer

  'IE(InternetExplorer)のオブジェクトを作成する
  Set objIE = CreateObject("InternetExplorer.Application")

  'IE(InternetExplorer)を表示する
  objIE.Visible = True

  '指定したURLのページを表示する
  objIE.navigate "http://www.vba-ie.net/"

  '完全にページが表示されるまで待機する
  Do While objIE.Busy = True Or objIE.readyState <> 4
    DoEvents
  Loop

 '完全にドキュメントが読み込まれるまで待機する
 Do Until objIE.document.ReadyState = "complete"
  DoEvents
 Loop

 'ドラッグアンドドロップ操作を禁止する
 objIE.RegisterAsDropTarget = True

  MsgBox "現在「RegisterAsDropTarget=True」で設定されています。「OK」を押下すると「False」に設定し、ドラッグアンドドロップ操作を許可します。"

 'ドラッグアンドドロップ操作を許可する
 objIE.RegisterAsDropTarget = False

End Sub

実行結果

①ブラウザのドラッグアンドドロップ操作を禁止します。
②メッセージボックスが表示され、「OK」を押下します。
③ブラウザのドラッグアンドドロップ操作を許可します。

解説

Sub sample()
 Dim objIE As InternetExplorer

sampleのSubステートメントは引数の設定なしです。次に、Dimステートメントを利用して変数objIEをInternetExplorer型で宣言します。


'IE(InternetExplorer)のオブジェクトを作成する
Set objIE = CreateObject("InternetExplorer.Application")

SetステートメントCreateObject関数を利用してIEのオブジェクトを作成します。オブジェクト作成によりプロパティやメソッドを利用することができます。


'IE(InternetExplorer)を表示する
objIE.Visible = True

VisibleプロパティTrueを設定することで、ブラウザを表示させます。


'指定したURLのページを表示する
objIE.Navigate "http://www.vba-ie.net/"

Navigateメソッドの第一引数に「http://www.vba-ie.net/」を設定しています。これにより「VBAのIE制御」サイトのトップページが表示されます。


'完全にページが表示されるまで待機する
Do While objIE.Busy = True Or objIE.ReadyState <> 4
 DoEvents
Loop

こちらは、Do...Loop ステートメントを利用して、ページが完全に読み込まれるまでループさせる処理を行っています。
それぞれのプロパティでWebページが完全に読み込まれた場合の戻り値は、BusyプロパティFalseReadyStateプロパティ4になりますので、たとえBusyプロパティでFalseになったとしてもReadyStateプロパティが4でない場合はループから抜け出すことはできません。
こちらを抜け出すためには、BusyプロパティReadyStateプロパティ両方が完全に読み込み完了状態になった場合のみとなります。
ということは、ページが完全に読み込まれるまで次の処理へ移動せず待機するということになります。
ちなみにDoEvents関数を設定しているのでは、無限ループに陥った場合に制御を戻しておくためです。


'完全にドキュメントが読み込まれるまで待機する
Do Until objIE.document.ReadyState = "complete"
 DoEvents
Loop

こちらも、Do...Loop ステートメントを利用して、ドキュメントが完全に読み込まれるまでループさせる処理を行っています。objIEオブジェクトのReadyStateプロパティは読み込み完了時に4を返しますが、HTMLDocumentオブジェクトReadyStateプロパティ"complete"を返します。
どのオブジェクトのReadyStateプロパティかによって戻り値が異なりますので注意が必要です。ここでは、"complete"を返したときにループ処理を抜けるような処理をしています。


'ドラッグアンドドロップ操作を禁止する
objIE.RegisterAsDropTarget = True

こちらは、RegisterAsDropTargetプロパティTrueを設定することで、ブラウザのドラッグアンドドロップ操作を禁止します。一度この状態の時に画像がドラッグアンドドロップできないことを確認してみてください。


MsgBox "現在「RegisterAsDropTarget=True」で設定されています。「OK」を押下すると「False」に設定し、ドラッグアンドドロップ操作を許可します。"

こちらは、MSgBox関数を利用してメッセージボックスが表示されます。「OK」を押下すると次の処理へ移ります。


'ドラッグアンドドロップ操作を許可する
objIE.RegisterAsDropTarget = False

こちらは、RegisterAsDropTargetプロパティFalseを設定することで、ブラウザのドラッグアンドドロップ操作を許可します。


End Sub

最後はEndステートメントを利用してsampleプロシージャを終了させます。

利用されているコンテンツ

RegisterAsDropTargetプロパティは、あまり利用しませんが覚えておきましょう。

  • 現在、利用されているコンテンツはありません。

InternetExplorerオブジェクトのプロパティ

プロパティデータ型内容
ApplicationObjectアプリケーションオートメーションオブジェクトにアクセス可能であれば、そのオートメーションオブジェクトを返す。
VisibleBooleanアプリケーションの表示・非表示を設定します。
BusyBooleanWebページが読み込み中かどうかを示す。
ReadyStatetagREADYSTATEIEオブジェクトのドキュメントの読み込み状態を示します。
document.readyStatetagREADYSTATEIEのdocumentオブジェクトの読み込み状態を示します。
TopLongInternetExplorerウィンドウの垂直位置(ピクセル)を設定します。
LeftLongInternetExplorerウィンドウの水平位置(ピクセル)を設定します。
WidthLongInternetExplorerウィンドウの幅(ピンクセル)を設定します。
HeightLongInternetExplorerウィンドウの高さ(ピンクセル)を設定します。
AddressBarBooleanアドレスバーを表示・非表示させます。
MenuBarBooleanメニューバーを表示・非表示させます。
StatusBarBooleanステータスバーを表示・非表示させます。
ToolBarLongツールバーが表示されているのを制御します。
FullScreenBooleanウィンドウを最大化し、ステータスバー、ツールバー、メニューバー、およびタイトルバーを非表示にします。
TheaterModeBooleanInternetExplorerのシアターモードを設定します。
ResizableBooleanウィンドウサイズ変更の可否を設定します。
OfflineBoolean設定またはオブジェクトがオフラインモードで動作しているかどうかを示す値を取得します。
RegisterAsBrowserBoolean設定またはオブジェクトは、トップレベルのブラウザウィンドウとして登録されているかどうかを示す値を取得します。
RegisterAsDropTargetBoolean設定またはオブジェクトはナビゲーションのためのドロップターゲットとして登録されているかどうかを示す値を取得します。
SilentBoolean任意のダイアログボックスを表示することかどうかを設定する。
TopLevelContainerBoolean指定したオブジェクトがトップレベルのオブジェクトである場合にTrueを返します。
HWNDLong指定したInternetExplorerのHWNDを返します。
ContainerObjectコンテナ/親へのオブジェクト参照を取得します。
DocumentObject指定したドキュメントを返します。
ParentObjectコンテナ/親が存在する場合は、そのオートメーションオブジェクトのオートメーションオブジェクトを返します。
PathStringInternetExplorerアプリケーションのフォルダパスを返します。
FullNameStringInternetExplorerアプリケーションのファイルパスを返します。
NameStringアプリケーションの名前を返します。
LocationNameString指定したページのタイトルを取得します。
LocationURLString指定したページのURLを取得します。
StatusTextStringステータスバーのテキストを取得します。
TypeString含まれているドキュメントオブジェクトの型を返します。
Excel VBAでIEを思いのままに操作できるプログラミング術 Excel 2013/2010/2007/2003対応

近田 伸矢, 植木 悠二, 上田 寛

IEのデータ収集&自動操作のプログラミング本はこの1冊だけ!IEの起動やポップアップウィンドウ、表示を制御する基本的なコードはもちろん、テキストボックスやラジオボタン、表、ハイパーリンクなどのHTML部品を制御する方法など、自動操作に欠かせないノウハウを丁寧に解説。

VBAのIE制御についてのQ&A掲示板

↑エクセルVBAのIE(InternetExplorer)操作で分からない事があればこちらの掲示板よりご質問ください^^

ExcelのVBA初心者入門

↑こちらはExcelのVBAをマスターできるよう初心者向けのエクセルVBA入門コンテンツになります^^

VBAのIE制御入門RSS

RSSフィードを登録すると最新記事を受け取ることができます。

VBAIE操作のスカイプレッスン

VBAでIE(InternetExplorer)制御の準備

【ダウンロード】IE操作に便利なツール

こちらでは、これまでに紹介したIE(InternetExplorer)操作で便利な機能をツール化しています。無償でダウンロードできますので、目的に合わせたご利用ください。

スポンサー リンク

IEオブジェクトのメソッド・プロパティ

こちらでは、IE(InternetExplorer)オブジェクトのメソッド・プロパティをまとめています。

IE操作に利用されているVBA関数

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたVBA関数をまとめています。

スポンサー リンク

IE操作に利用されているステートメント

こちらでは、エクセルVBAのIE(InternetExplorer)操作で利用されたステートメントをまとめています。ExcelのVBAで基本的な部分になりますので、しっかり理解しましょう。

IE(InternetExplorer)制御のVBAコード

こちらでは、これまでに作成したIE(InternetExplorer)操作で役立つサブルーチンをまとめています。
全てをコピーする必要はありませんが、目的に合わせたサブルーチンをご利用ください。