現在、エクセルのVBAのフォーム上のコマンドボタンから、URLをブラウザで起動させたいと思っているのですが、うまくいきません。
インターネット上で以下のプログラムが紹介されていたので試したのですが hwnd の所でエラーとなってしまいます。
Option Explicit
Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
Private Sub cmdGO_Click()
ShellExecute Me.hwnd, "Open", "http://www.goo.ne.jp/", _
vbNullString, App.Path, 1
End Sub
また、エクセルのハイパーリンクを使って、あるセル上に事前に設定しておき、コマンドボタンをクリックした時にそのセルのハイパーリンクを起動させることにしました。しかしブラウザは起動するのですが、ブラウザを閉じるとエクセルの画面が最小化されています。(最大化しようとして右クリックしてもなにも出てきません)同じエクセルファイルをダブルクリックするとやっとエクセルが画面表示されます。
ブラウザを閉じた時に画面上にエクセル画面を表示させたいのですがどのようにすれば良いのでしょう。分かる方が見えましたら宜しくお願いします。
このプログラムは以下のように作成しました
Private Sub CommandButton3_Click()
Worksheets("データ").Select
Range("J18").Select
Selection.Hyperlinks(1).Follow NewWindow:=False, AddHistory:=True
Application.WindowState = xlNormal
End Sub
ソフトは
EXCEL2000です
No.1ベストアンサー
- 回答日時:
>ShellExecute Me.hwnd, "Open", "
http://www.goo.ne.jp/", _>vbNullString, App.Path, 1
これって多分VBのサンプルを見たんですよね?
多分Excelで動作させるのでしたら、下記のようにすれば
大丈夫だと思います。
ShellExecute vbNull, "Open", "http://www.goo.ne.jp/", _
vbNullString, vbNullString, 1
この回答への補足
Y(>_<、)Y ヒェェ! お早いご回答ありがとうございます。
早速、試させていただきました。がが・・
初心者なものでお手数おかけしますが
ShellExecuteでコンパイルエラー SubまたはFunctionが定義されていませんとなります。
Public ShellExecute As Objectを追加してみたのですがダメです。多分見当違いなことをしているのだと思います。
申しわけありませんが、再度ご教授お願いいたします。
すみません。できました。
補足で書き込みしたときは、以下のプログラムを消していました。
これ以降を書き直したところ上手くいきました。ありがとうございました。
また、なにかありましたら宜しくお願いいたします。では
Option Explicit
Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
No.2
- 回答日時:
Option Explicit
Private Declare Function ShellExecute Lib _
"shell32.dll" Alias "ShellExecuteA" _
(ByVal hwnd As Long, _
ByVal lpOperation As String, _
ByVal lpFile As String, _
ByVal lpParameters As String, _
ByVal lpDirectory As String, _
ByVal nShowCmd As Long) As Long
がShellExecute関数を宣言しているわけですので、
Private を Publicに変えれば、コンパイルエラーはなくなると思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
- ・漫画をレンタルでお得に読める!
- ・14歳の自分に衝撃の事実を告げてください
- ・架空の映画のネタバレレビュー
- ・「お昼の放送」の思い出
- ・昨日見た夢を教えて下さい
- ・【お題】絵本のタイトル
- ・【大喜利】世界最古のコンビニについて知ってる事を教えてください【投稿~10/10(木)】
- ・メモのコツを教えてください!
- ・CDの保有枚数を教えてください
- ・ホテルを選ぶとき、これだけは譲れない条件TOP3は?
- ・家・車以外で、人生で一番奮発した買い物
- ・人生最悪の忘れ物
- ・【コナン30周年】嘘でしょ!?と思った○○周年を教えて【ハルヒ20周年】
- ・ハマっている「お菓子」を教えて!
- ・最近、いつ泣きましたか?
- ・夏が終わったと感じる瞬間って、どんな時?
- ・10秒目をつむったら…
- ・人生のプチ美学を教えてください!!
- ・あなたの習慣について教えてください!!
- ・牛、豚、鶏、どれか一つ食べられなくなるとしたら?
- ・都道府県穴埋めゲーム
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
windows audio サービスのとこ...
-
AccessVBAで実行時エ...
-
Oracle10gの起動を止めたいので...
-
Oracle_リスナーありませんって...
-
DOSプロンプトとコマンドプロン...
-
4GB = 4096MB ではない?
-
ORA-14459: GLOBALキーワードが...
-
無効なSQL文の具体例を教えてく...
-
サーバーの移行について(エク...
-
バイナリデータが入ったDMPファ...
-
RMANのバッチ実行に関して
-
増設したHDDに、新たにDtoD領域...
-
なぜ再起動すると空き領域が増...
-
ORA-01843: 指定した月が無効で...
-
データベースのバックアップに...
-
インポートエラー(IMP-00010)
-
コムテックドライブレコーダーH...
-
DB(oracle)のフルバック容量...
-
数学 領域!!!
-
オフライン中のトランザクショ...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
DOSプロンプトとコマンドプロン...
-
Oracleの起動時に、マウントし...
-
VBScript 実行時エラーについて
-
oracleのサービスがずっと開始...
-
Excel2013VBAでフリーソフト「...
-
バッチファイルでフリーソフト...
-
outlook2013 アップグレード中 ...
-
EXCEL VBA UserFormで困ってい...
-
Adobe Flash Media Live Encode...
-
Excel VBAでサーバのエクセルフ...
-
MYSQL入門以前という書籍を学習...
-
VBからExcelを起動しE...
-
Oracle10gの起動を止めたいので...
-
AccessVBAで実行時エ...
-
Oracle_リスナーありませんって...
-
Apache.exeを停止したい
-
10gをドメインコントローラにイ...
-
サービスの起動を確認したい
-
Windows10の再起動はどれ位の周...
-
MBRを検査中にエラーが発生???
おすすめ情報