• 締切済み

VBA PowerPoint2010 検索

2ページ目に表の挿入を使って目次を作成済です。その表の一部にコマンドボタンを設置して、それをクリックしたら、該当ページに移動するようなマクロは組めるのでしょうか??検索のキーはコマンドボタンの名称と3ページ以降に各ページに存在するオブジェクトに書かれている名称です。 Private Sub cmdA001_Click()'コマンドボタンcmd001のCaptionは「A001」です。 '3ページ目から最終ページまで検索 '挿入の図形のテキスト「A001」を検索して、そのページに移動 End Sub

みんなの回答

回答No.1

そこはハイパーリンクで。 VBA でやる必要なし。 コマンドボタンではなく、コマンドボタンに見立てた角丸シェイプに丸ごとハイパーリンクを仕込む。 角丸シェイプの方がボタンよりもデザインに自由度がある。 と私は思います。 もし何らかのっぴきならない理由があってどうしても VBA を使う必要があるっていうのなら・・・ 標準モジュールに Sub JumpSlide(aTargetName As String)   Dim sl As Slide   For Each sl In ActivePresentation.Slides     Dim sh As Shape     For Each sh In sl.Shapes       If sh.Name = aTargetName Then         SlideShowWindows(1).View.GotoSlide sl.SlideIndex         Exit Sub       End If     Next   Next End Sub とか書いて、目次スライドに配置したコマンドボタンのイベント プロシージャに Private Sub CommandButton2_Click()   Call JumpSlide(CommandButton2.Caption) End Sub ってボタンの数だけ書くとか。

関連するQ&A

  • Excel(VBA)シート上のコマンドボタンクリック時に

    Sheet1に配置したのコマンドボタン(cmd1)を押した時に, Sheet2上に配置したコマンドボタン(cmd2)を押した時と 同じ処理を走らせたいのですが。 Sheet2に、 Private Sub cmd2_Click() MsgBox"処理が走りました" End Sub Sheet1に、 Private Sub cmd1_Click() WorkSheets("Sheet2").Shapes("cmd2").??? End Sub ???に色々候補があがりますが、この候補の中のどれかを使うことは可能ですか? Sheet2の cmd2_Click() 以下の処理を、標準モジュールに書いて呼ぶしかないのかと 思ったのですが、直接、cmd1_Click() から cmd2_Click()の処理を呼べたらいいなぁと 思って質問させて頂きました。 可能か、不可能か教えてください。 バカな質問だということは心得ておりますが、当方、初心者ゆえ何分お許し下さい。 Ver.2000

  • エクセルVBAでmeに相当するものは?

    コマンドボタンやラベルの自分自身の情報を得る汎用的な方法はないでしょうか。 例えばCommandButton1のCaptionを表示する場合、以下のようにコーディングしています。 Private Sub CommandButton1_Click()    MsgBox CommandButton1.Caption End Sub CommandButton1.Captionと書いておりますが、CommandButton1と書かずに自分自身を指定する方法はないでしょうか? 遥か昔マッキントッシュのハイパーカードでは、自分自身の名称を得る時に「name of me」で可能でしたが、このmeに相当するものはエクセルではどのようになるのでしょうか? よろしくお願い申し上げます。

  • アクセスVBA 変数を渡したい

    フォーム1のcmd_ボタンをクリックして、フォーム2を開く際に、変数を渡したいのですが、どう渡せばいいのでしょうか? Private Sub cmd_ボタン_Click() myStr = "あああ" DoCmd.OpenForm "フォーム2" (myStr) End Sub とすると、エラーになります。 文の書き方を教えてください。

  • Access VBA クリップボードの内容を

    Access2003 を使用しています。 クリップボードに取り込んだ商品名を、あるボタン(仮称:cmd01)を押せば A1 というデータに代入したいと思います。そのVBAの書き方を教えてください。 つまり Private Sub Cmd01_Click()     dim A1 as string     A1=(クリップボードに取り込んだ商品名) End Sub このようなイメージにしたいのですが・・・

  • 検索時のみデータの変更を不可

    検索条件を入力するフォームA、検索でヒットしたレコードを表形式で表示するフォームB、フォームBにて詳細ボタンをクリックすると、単票形式のフォームCを表示する設定にしてあります。 このうち、フォームCはデータを入力するときに使用しています。 検索でヒットさせた場合のみ、フォームCのデータを変更できないようにするにはどうしたらいいでしょうか? よろしくお願いします。 下記のVBAが、フォームBの詳細ボタンをクリックしたときに、フォームCを開くためのコードです。 このVBAのどこに入れたらいいでしょうか? よろしくお願いします。 なお、このVBAはウィザードで作成されたものです。 Private Sub cmd詳細_Click() On Error GoTo Err_cmd詳細_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = ChrW(102) & ChrW(114) & ChrW(109) & ChrW(-28982) & ChrW(20001) & ChrW(12487) & ChrW(12540) & ChrW(12479) stLinkCriteria = "[ID]=" & Me![ID] DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmd詳細_Click: Exit Sub Err_cmd詳細_Click: MsgBox Err.Description Resume Exit_cmd詳細_Click End Sub

  • VBAの検索について

    Excelシートに表の一覧があり、項目(5行目)のところでウィンドウの固定をしています。 検索したいNo.をセル(G2)に入力し、コマンドボタンをクリックします。 セル(G2)に入力されたNo.とA列に入力されているNo.が一致する行を検索し、一致した行(複数はない)を項目の下までスクロールさせた状態で表示したいと思っています。 検索までは下記プログラムでできているのですが、一致した行を項目の下までスクロールさせた状態で表示するのはどうしたらよいのでしょうか。 ************************************************************* Private Sub CommandButton1_Click()   Dim myClm As Integer, myFind As Integer, myRow As Integer   myClm = 1 'A列   If Sheet1.Range("G2") = "" Then Exit Sub   myFind = Sheet1.Range("G2")   For myRow = Cells(Rows.Count, myClm).End(xlUp).Row To 1 Step -1    With Cells(myRow, myClm)     If .Value Like myFind Then       .Activate       Exit For     End If    End With    Next End Sub ************************************************************

  • Excel2003 VBA ボタンを押したらフォームを開く

    オブジェクト名”きほん”というフォームをつくって、表示させるためのボタンを”検索”というシートに作りました。 なぜかエラーが出ます。 msgbox的なイメージで考えていたのですが、前提の定義がいるっぽいエラーメッセージが入ってます。 どうしたらいいと思いますか? (”検索”内のボタンは、ボタン441という名称です。) Sub ボタン441_Click() Docmd.OpenForm ("きほん") End Sub

  • 下の移動ボタンと同じような動きをコマンドボタンで実

    アクセスです。 フォームの下の移動ボタンと同じような動きをコマンドボタンで実行したいです。 下のボタンは小さすぎて押しずらいので、 前へ、次へと言うコマンドボタンを作り Private Sub cmd_前へ_Click() Call Form_Current End Sub と言う形で、Currentイベントを呼び出してるのですが、 確かにCurrentイベントは実行されるのですが 次へのレコードへの移動はできません。 VBAで下の移動ボタンと同じように前後のレコードに移動する方法はありますか?

  • EXCEL VBA で自在に図形を変化させたい(2)

    前回,質問させてもらい、非常に役に立つ回答をもらい解決しました。 今回、いろいろ本を見ても解決できない問題がありましたので再度質問をします。 EXCEL上にコマンドボタンを一つ配置します。右クリック→プロパティ→オブジェクト名をCmd作図に変更しておきます。 デザインモードでボタンをダブルクリックしてVBEでコード表示にします。 Private Sub Cmd作図_Click() ActiveSheet.Shapes.AddLine 200, 200, 400, 400 End Sub これでEXCEL上のコマンドボタンを押すと直線が作図できます。 次にAddLine以下の数字を変えて再度実行しますと別の直線がかけるのですが最初の直線が残ったままですので重なったりします。 前回、回答では Private Sub Cmd作図_Click() With ActiveSheet For Each Sh In .Shapes Sh.Delete Next Sh ActiveSheet.Shapes.AddLine 200, 200, 400, 400 End With End Sub という回答をもらっています。こうすれば前回描いた線を消してから作図できます。 しかし、前回は「マクロの実行」ボタンからの作図でしたので問題にはならなかったのですが、今回、EXCEL上にコマンドボタンを配置したところ、コマンドボタンもShapesと認識してしまうらしく、線と一緒に消されてしまいます。 この問題を解決できるコードを教えてもらいたいのですが。 よろしくお願いします。

  • アクセスにて検索フォームを作りたい

    お世話になります。 アクセス初心者です。 会社名検索フォームに会社名を入力して表示コマンドをクリックすると 会社フォームの入力した会社が表示されるようにしたいのです。 現在は、表示コマンドをクリックすると会社フォームが開きます。 どの会社名を打ち込んでもNo.1のレコードしか開きません。 つまり会社フォームが開く という指示をしているだけです。 コードなど全く分かりません。 ただ、本を見て真似て下記の通り入力してみました。 間違っているor足りない ということはわかっていますが、 どう入力すれば良いのかわかりません。 教えて下さい。よろしくお願いいたします。 Private Sub cmd表示_Click() On Error GoTo Err_cmd表示_Click Dim stDocName As String Dim stLinkCriteria As String stDocName = "会社フォーム" DoCmd.OpenForm stDocName, , , stLinkCriteria Exit_cmd表示_Click: Exit Sub Err_cmd表示_Click: MsgBox Err.Description Resume Exit_cmd表示_Click End Sub

専門家に質問してみよう