現在、エクセルの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で質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Excel(エクセル) 2つのVBAを一緒にしたら機能しなくなりました(エクセル) 7 2022/06/02 12:41
- Excel(エクセル) エクセル VBA For Next 繰り返しの書き方を教えてください 6 2022/09/01 14:11
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Visual Basic(VBA) 【VBA】写真の貼り付けコードがうまく機能しません。 5 2022/09/01 18:43
- Visual Basic(VBA) 【Excel VBA】自動メール送信の機能追加 5 2022/09/29 12:53
- Excel(エクセル) エクセル VBA実行中のApplication.ScreenUpdatingについて 3 2023/07/13 21:06
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Visual Basic(VBA) VBAでoutlook365が起動しません。 4 2022/08/25 13:31
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
DOSプロンプトとコマンドプロン...
-
windows audio サービスのとこ...
-
VBAでURLをブラウザで起動させたい
-
Oracle_リスナーありませんって...
-
oracleのサービスがずっと開始...
-
Windows10の再起動はどれ位の周...
-
Excel2013VBAでフリーソフト「...
-
10gをドメインコントローラにイ...
-
Oracleの起動時に、マウントし...
-
ORA-01013のエラーについて経験...
-
SQL*Plusで、コマンドの返答を...
-
Oracleで流したSQLのログを取得...
-
ORA-00984のエラーが出ます
-
オラクル致命的なエラー(provi...
-
Accessシステムオブジェクトの編集
-
表領域の作成について
-
PL/SQL PLS-00103エラーについて
-
VBでストアドの戻りパラメータ...
-
CASE文のエラーについて
-
サービスの再起動を自動で
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
Oracleの起動時に、マウントし...
-
DOSプロンプトとコマンドプロン...
-
VBScript 実行時エラーについて
-
Excel2013VBAでフリーソフト「...
-
oracleのサービスがずっと開始...
-
VBからExcelを起動しE...
-
EXCEL VBA UserFormで困ってい...
-
Oracle_リスナーありませんって...
-
windows audio サービスのとこ...
-
Linux ディレクトリ(/tmp)を削...
-
Oracle10gの起動を止めたいので...
-
outlook2013 アップグレード中 ...
-
Windows10の再起動はどれ位の周...
-
Tomcatについて。
-
VBAでURLをブラウザで起動させたい
-
Jupyter notebookを起動したと...
-
C言語でエクセルを起動し、C...
-
J2EEとTomcat4.0について
-
エクセルマクロによるハイパー...
-
oracleが起動しない
おすすめ情報