|
▼mmm さん:
こんばんは。
>早速試してみたところ、このコードはEXCELの「マクロの実行」では作動するのですが、シート上に設置したボタンにコード貼り付けて実行させようとすると、「コメント選択して」のmsgboxのところで止まって終わってしまいます。どうしてなんででしょうか?
>ボタンにコード貼り付けて実行させようとすると
シートに貼り付けるボタンには、
コマンドバー「フォーム」にあるボタンと
コマンドバー「コントロールツールボックス」にあるコマンドボタンの二つが
考えられますが どちらですか?
こういう記述をきっちりすることを心がけてください。
コマンドバー「コントロールツールボックス」にあるコマンドボタン
で試されたのですね?
だとしたら、このこのコマンドボタンのプロパティのひとつに
TakeFocusOnClick というのがありますから、既定値はTrueですから、
Falseに変更して試して見てください。
因みにコマンドバー「フォーム」にあるボタンでは、
正常に処理されましたよ!!
>また、出来れば、既存のコメントを選択するのではなく、そのときのactivecellに新規にコメント挿入の状態で「図を選択してください」のダイヤログを開きたいのですが。
コントロールツールボックスのコマンドボタンを使っているようなので
コマンドボタン(仮にCommandbutton1とします)を配置した
シートのモジュールに
'=================================================
Private Sub CommandButton1_Click()
Dim flnm As Variant
With ActiveCell.AddComment
.Visible = True
flnm = Application.GetOpenFilename("図の選択 ,*.*", , "図を選択してください")
If TypeName(flnm) <> "Boolean" Then
.Shape.Fill.UserPicture flnm
If Err.Number <> 0 Then MsgBox Err.Description
End If
End With
End Sub
これでコマンドボタンをクリックすると
アクティブセルにコメントを作成し、そのコメントに埋め込む画像選択ダイアログが
表示されます。
試してみてください。
尚この場合は、
TakeFocusOnClickプロパティは、Falseにしなくても動作します。
|
|