Gizport
1 回答
0
Share (facebook)
249
view
全般

Excel2003 VBA テキストボックスへのテキストのペースト ...

Excel2003 VBA テキストボックスへのテキストのペースト 他のソフトからコピーしたテキストを、右クリックで表示した『貼り付け』でユーザーフォーム上のテキストボックスにペーストしたいのですが、なかなかうまくいきません。
右クリックで『貼り付け』メニューを表示することは出来ましたが、ペーストしようとすると『実行時エラー91 オブジェクト変数またはWithブロック変数が設定されていません。』とエラーになります。
どこが間違っているのか、お教えいただけたら幸いです。

ユーザーフォームのコード:
Dim Menu1 As Variant
Dim CB1 As DataObject
Dim CBF As Variant

Private Sub TextBox1_MouseDown(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
If Button = 2 Then
CBF = Application.ClipboardFormats
If CBF(1) = True Then
MsgBox ("クリップボードは空です。")
End
Else
CB1.GetFromClipboard
CBD = CB1.GetText

Menu1.ShowPopup
End If
End If
End Sub

Private Sub UserForm_Initialize()
Set Menu1 = CommandBars.Add(Position:=msoBarPopup, temporary:=True)
With Menu1
With .Controls.Add
.Caption = "貼り付け"
.OnAction = "貼り付け"
End With
End With
End Sub


標準モジュールのコード:
Sub 貼り付け()
TextBox1.Text = CBD
End Sub
Yahoo!知恵袋 2506日前
コメントする
お気に入り
0
質問者が選んだベストソリューション
まず
CBD
が宣言されずに使われています、
常に変数は宣言してから使いましょう。
タイプミスで思惑と事なる変数を使ってしまう人為ミスを防ぐ事が出来ます。


クリップボードへのコピーは出来て、ペーストが出来ないのですよネ?

TextBox1.Paste

で可能です。
Yahoo!知恵袋 2501日前
シェア
 
コメントする
 

参考になったと評価
  このQ&Aは参考になりましたか?

Share (facebook)
その他の解決方法を知っていますか?
回答する
全般
112
Views
質問者が納得まず CBD が宣言されずに使われています、 常に変数は宣言してから使いましょう。 タイプミスで思惑と事なる変数を使ってしまう人為ミスを防ぐ事が出来ます。 クリップボードへのコピーは出来て、ペーストが出来ないのですよネ? TextBox1.Paste で可能です。
2506日前view112
全般
93
Views
質問者が納得手打ち入力でなければ、ふりがな情報が無いので、表示されません。 GetPhoneticメソッドでふりがなが取得できます。 例をあげればこんな感じです。 With Activecell .Phonetics.Visible = True .Characters(1, Len(.Value)).PhoneticCharacters = Application.GetPhonetic(.Value) End With 得られたふりがなが正しいとは限りません。 UserFormのTextBoxで取得し...
3036日前view93

取扱説明書・マニュアル

関連製品のQ&A