• ベストアンサー

Access クリップボードにデータが無い場合無視

Access2000 クリップボードでテキストデータのコピー & 貼付をやりたいのですが、下記コードの場合、クリップボードにデータが無いとエラーしてしまいます。(貼付) クリップボードにデータが無い場合は無視するコードを教えて下さい。 Private Sub コマンド_Click() Me.テキスト.SetFocus DoCmd.RunCommand acCmdPaste End Sub

質問者が選んだベストアンサー

  • ベストアンサー
  • DexMachina
  • ベストアンサー率73% (1287/1744)
回答No.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 ・・・以上、参考まで。

mmac
質問者

お礼

回答有り難う御座いました。 エラー回避出来ました。 他のエラーもこの方法が使えそうです。 初心者の為、エラーの無限ループが心配です。

その他の回答 (1)

  • n-jun
  • ベストアンサー率33% (959/2873)
回答No.1

フィルタがうまく動作しません。 http://www.accessclub.jp/bbs3/0385/superbeg114490.html の回答にある、 【DataObjectでクリップボードから取得する】 と言う所は参考になりませんか? と言っている私はAccessは無知ですけど。

mmac
質問者

お礼

回答有り難う御座いました。参考にさせて頂きます。 Object Libraryの参照は出来れば使用せず他にも対応出来る様 エラーコードを避ける様にしたいです。

関連するQ&A

専門家に質問してみよう