• 締切済み

パワーポイントVBA

パワーポイント2003または2007を使える環境です。 パワーポイントVBAで下記の事を実行したいのですが教えて頂けないでしょうか? 「シフト」を押した状態でクリックするとハイパーリンクで、あるHTMLファイルに飛ぶ、というVBAが、あるテキストボックスをクリックすれば実行されるのを組みたいと思っています。 シフト押すというVBAが難しければ、他のHTMLファイルに飛ぶというVBAだけでも教えて頂ければ助かります。 よろしくお願いします。

みんなの回答

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.3

Dim Sld As Slide Set Sld = Shp.Parent の2行は不要でした。 他のマクロに手を加えたので、削除忘れです。 >「シフト」を押した状態でクリックするとハイパーリンクで、 >あるHTMLファイルに飛ぶ に対しての回答だったのですが、 その後のお礼の書き込みを読むと 求めているものが違うようですね。 ですから解説はお断りします。

  • n_na_tto
  • ベストアンサー率70% (75/107)
回答No.2

新規ファイルにテキストボックス挿入 →中に*.htmlファイル名をフルパスで E:\office\Excel\Book1.htm などのように入れる →そのテキストボックス(複数可)を選択した状態で MacroTourokuマクロ実行 →スライドショー実行 Private Declare Function ShellExecute Lib "shell32.dll" Alias _    "ShellExecuteA" (ByVal hwnd As Long, ByVal lpszOp As _    String, ByVal lpszFile As String, ByVal lpszParams As String, _    ByVal lpszDir As String, ByVal FsShowCmd As Long) As Long Private Declare Function GetKeyboardState Lib "user32" (pbKeyState As Byte) As Long Private Const VK_SHIFT = &H10 'Shiftキー Sub Sentaku(Shp As Shape) Dim KState(0 To 255) As Byte Dim Sld As Slide Set Sld = Shp.Parent GetKeyboardState KState(0) If KState(VK_SHIFT) And &H80 Then  With Shp.TextFrame.TextRange   If Len(.Text) > 0 Then    ShellExecute 0, "Open", .Text, "", "", 1   End If  End With End If End Sub Sub MacroTouroku() Dim Shp As Shape For Each Shp In ActiveWindow.Selection.ShapeRange  With Shp.ActionSettings(ppMouseClick)   .Run = "Sentaku"   .Action = ppActionRunMacro  End With Next Set Shp = Nothing End Sub

maintec
質問者

お礼

回答ありがとうございます。 この質問して気付いたのですが、HTML化したパワーポイントのハイパーリンクはシフトを押しながらクリックしても、別ウィンドウが開かないのですね。 別ウィンドウを開く方法はご存知でしょうか? また、このVBAの説明を頂ければ助かります。 よろしくお願いします。

  • A88No8
  • ベストアンサー率52% (836/1606)
回答No.1

こんにちは >他のHTMLファイルに飛ぶというVBAだけでも教えて頂ければ助かります。 あるテキストボックスをクリックすれば他のHTMLファイルに飛ぶだけならVBAを使うまでもなく、あるテキストボックスを右クリックして「ハイパーリンク」を選んで飛び先を指定すれば実現できると思いますよ。

maintec
質問者

お礼

早速の回答ありがとうございます。 http://oshiete1.goo.ne.jp/qa4731574.html 最終目標は上記のリンク先で相談させて頂いていることをしたいと思っています。 しかし、回答がなかったので違う視点から見てできないかと思い、この質問させて頂きました。 何かアドバイスがあれば、よろしくお願いします。

関連するQ&A

専門家に質問してみよう