
いつもお世話になります
クリップボードのクリアについてWebで調べてみると下記の二つのやり方があります
①
Application.CutCopyMode = False
②
Public Declare PtrSafe Function OpenClipboard Lib "user32" (ByVal hwnd As Long) As Long
Public Declare PtrSafe Function EmptyClipboard Lib "user32" () As Long
Public Declare PtrSafe Function CloseClipboard Lib "user32" () As Long
Sub ClearClipboard()
OpenClipboard (0&)
EmptyClipboard
CloseClipboard
End Sub
後者はAutoCadで”COPYHIST"でコピーして読み込んだ後、
クリップボードをクリアするときに使っていますが
今さながら違いについて疑問を持ち、投稿させていただきました
①と②の違い、使い分け等について分かりましたら教えてください
以上、よろしくお願い申しあげます
No.1ベストアンサー
- 回答日時:
1:Application.CutCopyMode = False:
VBA (Visual Basic for Applications) で使用される方法です。
このコードは、ExcelなどのOfficeアプリケーション内でクリップボードのコピー操作を終了するために使用されます。
例えば、データをコピーした後、このコードを実行することで、クリップボードの履歴がクリアされます。
一般的に、Officeアプリケーション内でのクリップボード操作に適しています。
2:Public Declare PtrSafe Function...:
Windows API を使用する方法です。
OpenClipboard、EmptyClipboard、CloseClipboard の3つの関数を使用しています。
VBAだけでなく、他のプログラムやスクリプトでも使用できます。
AutoCADのようなアプリケーションで、特定の操作(例:COPYHIST)の後にクリップボードをクリアする場合に適しています。
使い分けについて:
VBA を使用する場合は、Officeアプリケーション内での操作に限定されます。
Windows API を使用する場合は、他のアプリケーションやスクリプトでも利用できます。
どちらを選択するかは、具体的な状況と使用するアプリケーションによります。必要に応じて選択してください。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Access(アクセス) Vba Userformを前面に出すについて 3 2022/04/15 12:29
- Excel(エクセル) 【VBA】 Alt+PrintScreenにてアクティブウィンドウのスクショを貼付する方法 4 2022/12/08 20:53
- Visual Basic(VBA) VBA リボンののリカバリーでオーバーフローエラーになります 2 2023/07/04 19:07
- Visual Basic(VBA) Vba LongPtrについて教えてください 2 2022/08/19 11:14
- Excel(エクセル) 【マクロ】スクショ印刷がうまく動かない件 5 2022/12/06 17:37
- Visual Basic(VBA) M365環境での動作エラー、及び対応相談 1 2023/01/27 04:18
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る バッチからEXEの結果を受け取りたいのですが、 下記のバッ 1 2023/07/04 15:13
- Visual Basic(VBA) batからexeを実行し戻り値を受け取る EXEの実行内容の結果によって、戻り値を0か1かで返したい 1 2023/07/04 16:40
- Visual Basic(VBA) 別シートから年齢別の件数をカウントしたいの続き 5 2023/01/24 00:16
- Access(アクセス) こんにちは。Accessのことで教えてください。M365環境で、Private Declare Fu 1 2023/01/09 14:59
このQ&Aを見た人はこんなQ&Aも見ています
-
エクセル:マクロ「Application.CutCopyMode = False」って?
Excel(エクセル)
-
エクセルVBAでクリップボード内容をクリア
その他(プログラミング・Web制作)
-
アクセス マクロ クリップボードを空っぽにしたい
Access(アクセス)
-
-
4
Excelの終了時に「クリップボードに…」を出なくする方法
Excel(エクセル)
-
5
EXCEL マクロ クリップボードクリア方法
Excel(エクセル)
-
6
Access VBA クリップボードの内容を
Access(アクセス)
-
7
VBAで保存しないで閉じると空のBookが残る
Excel(エクセル)
-
8
VBAでエクセルシートを更新(リフレッシュ)する方法を教えて下さい。
Excel(エクセル)
-
9
EXCEL VBAで全選択範囲の解除
Excel(エクセル)
-
10
エクセルのVBAでクリップボードにコピーした画像をpng(or jpg or bmp)保存したい
Visual Basic(VBA)
-
11
Wordのマクロでクリップボードの内容を取得する方法
Visual Basic(VBA)
-
12
B列の最終行までA列をオートフィル
Visual Basic(VBA)
-
13
エクセルのエラーメッセージ「400」って?
Visual Basic(VBA)
-
14
エクセルVBAでセルに入力したパスでブックを開く
Excel(エクセル)
-
15
エクセルVBAで、MsgBox やInputBox は、画面の中央以外に表示させたい。
Excel(エクセル)
-
16
「クリップボードを空にできません。他のアプリケーションが利用している可能性があります。」というエラー
Excel(エクセル)
-
17
VBA シートをコピーする際に Copyメソッドは失敗しましたのエラーが出てしまいます
Visual Basic(VBA)
-
18
VBA Shapes コピーと名前
Excel(エクセル)
-
19
エクセル2010、図が大きすぎますとメッセージが
Excel(エクセル)
-
20
エクセルVBA 配列からセルに「関数式」を一気代入したい
Visual Basic(VBA)
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
java oneって?
-
unzip32.dllの利用について(64b...
-
JAVAプログラムをWEB表示させる...
-
VisualStudioのC++のテンプレー...
-
Javaセキュリティによってブロ...
-
C#のメモリマップドファイルに...
-
最大化のまま表示
-
JSPファイルで生じるエラーをど...
-
Eclipseソース開発画面の行番号...
-
gitでバージョン指定してダウン...
-
使用しているJUnitのバージョン...
-
javaのジェネリックスでTとEの...
-
JavaScriptを勉強したい
-
画像編集ソフトの作り方
-
Javaでのエラーについて
-
エラーを全て見たい
-
データベースのデータをTextBox...
-
MSCOMCTL.OCXのアップデートの方法
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vba クリップボードクリアにつ...
-
IISワーカープロセスが原因でCP...
-
unzip32.dllの利用について(64b...
-
帳票出力について
-
JAVAプログラムをWEB表示させる...
-
プラグインとパッチの違いは?
-
AccessとVBの違いについて
-
C#のメモリマップドファイルに...
-
Mac用 アプリケーション作成 ウ...
-
SurfaceViewの一時停止や再開方法
-
アプレットの利点について。
-
ログオフ中でもアプリケーショ...
-
意味が分からないエラー
-
MacでJavaゲーム作り JJEdit
-
IIS6.0アプリケーションプール...
-
java起動時の日本語引数文字化...
-
javaアプレットって??
-
2冊目のJAVA本
-
Java(Servlet,JSP)を使用して...
-
RELAX NG
おすすめ情報