0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Office 2019 VBA Web Browser Controlを使う

Posted at

ドラッグ&ドロップでファイル追加できるリストボックスの作成
https://reta-slot.com/access-drag-and-drop
公開日 : 2015年9月19日 / 更新日 : 2018年7月9日

この記事の方法はつい先日まで不可能でした。なぜならVB6.0を使うものの、KillBitされており、参照できなかったからです。
しかし、先日ProgressBarがなぜか復活しているので、今はできます。最も、過去、32Bit系のコントロールはトラブルを起こしており、自然とすたれてきているため、これを積極的に使用することはためらわれます。

しかしながら、この方法は間違っています。
これはWeb BrowserControlを使うと、VB6.0系のコントロールを使う必要がないためです。
Windows7 に VB6.0 をインストールするとエラーが出る

Web Browserの表示

アーリーバインディングでiFrame.exeを追加します。
こうしないと表示されません。
.AddFromGUID "{EAB22AC0-30C1-11CF-A7EB-0000C05BAE0B}", 1, 1'SHDocVw Microsoft Internet Controls C:\Windows\System32\ieframe.dll
つまりこれです。
なお、Wordでこれをやろうとする人は
Accessにも参照設定してください。
.AddFromGUID "{4AFFC9A0-5F99-101B-AF4E-00AA003F0F07}", 9, 0'Access Microsoft Access 16.0 Object Library C:\Program Files\Microsoft Office\root\Office16\MSACC.OLB

これは先日のExcelのVBA開発用のプロシージャーテンプレートのAddreferenceで出てきます。
ACCESSでファイルのドラッグアンドドロップ
セオリーとコードはこちらです。
ここでは「ここではmscomctl.ocxがインストールされていない環境でも作動する方法を載せてみます。」と断っていますが、mscomctl.ocxの不安定さを考えるとWebBrowserの方がまだましかもしれません。
最もInternet Explorerの先行きを考えると不安はあります。

Accessを参照設定していると、変数として宣言しなくてもAccess.NzでNz関数が使える。

これが今回のポイントです。
あと上記サイトのコード中、
テキスト2 = URL '←併せてファイル名をテキストボックスに表示させ
となっているところは、フォームにテキストボックスを配置したときのTextbox1の間違いか、テキストボックスにテキスト2という名前をつけているのかもしれません。

なぜWordで検証しているのか

これは疑問に思われる方もいらっしゃると思います。これはWordで動くなら、ほかのすべてのOfficeアプリで使えることになるためです。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?