- ベストアンサー
Access クリップボードにデータが無い場合無視
Access2000 クリップボードでテキストデータのコピー & 貼付をやりたいのですが、下記コードの場合、クリップボードにデータが無いとエラーしてしまいます。(貼付) クリップボードにデータが無い場合は無視するコードを教えて下さい。 Private Sub コマンド_Click() Me.テキスト.SetFocus DoCmd.RunCommand acCmdPaste End Sub
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> クリップボードにデータが無い場合は無視するコードを教えて下さい。 現状のコードでエラーが発生した場合、エラーメッセージと同時に エラー番号(実行時エラー '2046')が表示されると思います。 これを利用するのもひとつの手です(エラートラップ)。 Private Sub コマンド_Click() '何らかのエラーが発生した場合、「エラー処理」に飛ばすための宣言 On Error Goto エラー処理 Me!テキスト.SetFocus DoCmd.RunCommand acCmdPaste 終了処理: '「終了処理」の位置を示すラベル 'Subを抜ける '(別の処理を示すラベルがあっても、処理はラベルを無視して継続 ' するため、明示的にSubを抜ける必要があります) '※この1行を忘れると、エラーの無限ループになるので要注意※0 Exit Sub エラー処理: '「エラー処理」の位置を示すラベル '「Err」でエラー番号が取得できます。 '(より明示的にするなら「Err.Number」) Select Case Err Case 2046 'エラーが発生した次の行に戻って処理を続行 '(必要なら、ここにMsgBoxなどを追加します) Resume Next Case Else '上記以外のエラーが発生した場合は、そのエラー番号と 'エラーメッセージを表示して処理を中止(「終了処理」に移動) '※「Case ○○」の追加により、別のエラーの切り分けも可能※ MsgBox Err & ":" & Error$, , Me.Name & " コマンド" Resume 終了処理 End Select Exit Sub ・・・以上、参考まで。
その他の回答 (1)
- n-jun
- ベストアンサー率33% (959/2873)
フィルタがうまく動作しません。 http://www.accessclub.jp/bbs3/0385/superbeg114490.html の回答にある、 【DataObjectでクリップボードから取得する】 と言う所は参考になりませんか? と言っている私はAccessは無知ですけど。
お礼
回答有り難う御座いました。参考にさせて頂きます。 Object Libraryの参照は出来れば使用せず他にも対応出来る様 エラーコードを避ける様にしたいです。
お礼
回答有り難う御座いました。 エラー回避出来ました。 他のエラーもこの方法が使えそうです。 初心者の為、エラーの無限ループが心配です。