Word VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


86 / 308 ツリー ←次へ | 前へ→

【622】ダブルクリックでuserformを表示 hikka 09/4/20(月) 21:28 質問[未読]
【623】Re:ダブルクリックでuserformを表示 りる 09/4/26(日) 11:56 回答[未読]
【642】Re:ダブルクリックでuserformを表示 hikka 09/6/22(月) 22:14 お礼[未読]

【622】ダブルクリックでuserformを表示
質問  hikka  - 09/4/20(月) 21:28 -

引用なし
パスワード
   ワード文章上でダブルクリックしたらuserformが出るようにしたいのですが可能でしょか?
excelでは
Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
   UserForm1.Show
End sub
みたいにできればと思っているのですが。
よろしくお願いします。

【623】Re:ダブルクリックでuserformを表示
回答  りる  - 09/4/26(日) 11:56 -

引用なし
パスワード
   hikka さん、こんにちわ。

>ワード文章上でダブルクリックしたらuserformが出るようにしたいのですが可能でしょか?
>excelでは
>Public Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
>   UserForm1.Show
>End sub
>みたいにできればと思っているのですが。
>よろしくお願いします。

ダブルクリックのイベントを起こすにはclassを利用します。

該当のドキュメントに
挿入→クラスモジュール(初期ネームはClass1)
Class1に以下のイベントを記述(ヘルプのサンプルをそのまま記述しています)
'/////Start
Public WithEvents appWord As Word.Application

Private Sub appWord_WindowBeforeDoubleClick _
    (ByVal Sel As Selection, Cancel As Boolean)
  Dim intResponse As Integer
  intResponse = MsgBox("Selection = " & Sel & vbLf & vbLf _
    & "Continue with operation on this selection?", _
    vbYesNo)
  If intResponse = vbNo Then Cancel = True
End Sub
'/////End

Thisdocumentに以下を記述
'/////Start
Dim X As New Class1 'Classモジュール名に合わせる
'閉じるとき開放
Private Sub Document_Close()
 Set X = Nothing
End Sub
'イベントを起こす
Private Sub Document_Open()
 Set X.appWord = Word.Application
End Sub
'/////End

保存して閉じ、ドキュメントをマクロを有効にして開けばイベントが有効になります。
今回のイベントはサンプルをそのまま転記したのでメッセージが出ますが、そこにフォームを表示するコードを書いてみてください。

【642】Re:ダブルクリックでuserformを表示
お礼  hikka  - 09/6/22(月) 22:14 -

引用なし
パスワード
   りるさん。こんにちわ。
返答ありがとうございます。
なかなかうまくいかずでした。

原因は再インストールしたあとの
ツールーマクローセキュリティーのレベルが高
のままでした。

内容はばっちりOKです。

目標はユーザーホームにいわゆる「はんこ」
並べてクリックで押していくものがタスクでした。
良いものできるようがんばりますね。
ありがとうございました。

86 / 308 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
207129
(SS)C-BOARD v3.8 is Free