- ベストアンサー
エクセル ボタンへのマクロのやり方
エクセルを使用して、エクセル内に作成した"ボタン"をクリックすると指定のURLへ飛べるようにしたいのですが、どうやったらいいのでしょうか? 通常セル内に文字を入力してハイパーリンクをやればURLに飛べると思いますが、"ボタン"を付けた場合右クリックをしてもハイパーリンクの文字が出てきません。 マクロを使えば出来ると思うのですが、マクロもホントのホントに初心者なのでよく分かりません。 どなたか詳しく教えて頂けないでしょうか。 よろしくお願いいたします。
- みんなの回答 (4)
- 専門家の回答
質問者が選んだベストアンサー
1)ハイパーリンクを使用する方法 A1にハイパーリンクがあるとします。 Sub ボタン1_Click() Range("A1").Hyperlinks(1).Follow NewWindow:=True End Sub 2)IEにて開く方法 Sub ボタン2_Click() Shell "EXPLORER.EXE http://・・・・・" End Sub http://・・・・・は、開きたいURL入れてください
その他の回答 (3)
- Wendy02
- ベストアンサー率57% (3570/6232)
こんにちは。 これは、決まりきったスタイルです。それ以外という人もいるでしょうけれども……・ なお、以下のURLは、サイトのセキュリティのために、Unicode 空白が「"」の前に入ってしまうことがありますから、改めて入れなおさないと働かないことがあります。 Private Sub CommandButton1_Click() '教えてGoo Office カテゴリ Const mURL As String = "http://oshiete1.goo.ne.jp/207/218/c232.html" IE_Open mURL End Sub Sub IE_Open(mURL) Dim objIE As Object On Error GoTo EndProcess Set objIE = CreateObject("InternetExplorer.Application") With objIE .Navigate mURL .Visible = True Do While .Busy DoEvents Loop Do Until .ReadyState = 4 DoEvents Loop AppActivate objIE.Name End With EndProcess: If Err.Number > 0 Then MsgBox Err.Number & " : " & Err.Description End If Set objIE = Nothing End Sub #1の補足より こういう操作を、「オートメーション・オブジェクト」といいますが、マクロを勉強する段階としては、相当先です。たぶん、例外的に、できる人にはできるのだと思いますが、複雑な処理になると、分からなくなってしまいます。
お礼
ありがとうございます。 私にはかなり難しく高度な技に思えます。 もっと勉強してマクロが使いこなせるようになったときに活用させていただきます。
- xls88
- ベストアンサー率56% (669/1189)
オートシェイプの、例えば四角形を描画してください。 これなら右クリックメニューに「ハイパーリンク」があります。 フォームとかコントロールツールボックスの「ボタン」の場合、それらのボタンに「ハイパーリンク」はありません。 URLを飛ばすコードを組まなければなりません。「マクロの記録」すれば参考コードが得られます。 フォームのボタンの場合は、「マクロの登録」をします。 (オートシェイプの場合も「マクロの登録」があります。) コントロールツールボックスのボタンの場合は、ボタンのClickイベントにします。
お礼
ありがとうございます。 とても参考になりました。 試してみたいと思います。
- n-jun
- ベストアンサー率33% (959/2873)
InternetExplorer.Applicationを操作する http://www.ken3.org/cgi-bin/group/vba_ie.asp ひとつの参考として見て頂ければ幸いです。 ハイパーリンクで済む事をあえて行なうのは、例えば固定化しないURLを 開きたい(セルに打ち込んだURLを基に開くとか)などの理由があれば、 一緒に提示された方がいいかもしれません。
お礼
ありがとうございます。 教えて頂いたURLチェックしてみたいと思います。
補足
あえてマクロでやりたい理由としましては、 1)マクロを勉強したいから。 2)エクセルのシート1を印刷画面、シート2を入力画面として、その中に『検索ボタン』を作り顧客先を簡単に検索できるようにしたいと思ったからです。
お礼
ありがとうございます。 試して見たいと思います。