Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


5139 / 13644 ツリー ←次へ | 前へ→

【52427】「形式を選択して貼り付け」ダイアログボックス表示 ひげくま 07/11/14(水) 10:23 質問[未読]
【52428】Re:「形式を選択して貼り付け」ダイアログ... Jaka 07/11/14(水) 10:57 発言[未読]
【52430】追加 Jaka 07/11/14(水) 11:11 発言[未読]
【52431】Re:「形式を選択して貼り付け」ダイアログ... ひげくま 07/11/14(水) 11:30 お礼[未読]
【52429】Re:「形式を選択して貼り付け」ダイアログ... Blue 07/11/14(水) 10:57 発言[未読]
【52432】Re:「形式を選択して貼り付け」ダイアログ... ひげくま 07/11/14(水) 11:32 お礼[未読]

【52427】「形式を選択して貼り付け」ダイアログボ...
質問  ひげくま  - 07/11/14(水) 10:23 -

引用なし
パスワード
   マクロで「形式を選択して貼り付け」ダイアログボックスを表示させたいのですが、

 Application.Dialogs(xlDialogPasteSpecial).Show

を実行したら、

「実行時エラー '1004':
Dialog クラスの Show メソッドが失敗しました。」

というエラーになってしまいました。

ネットで調べてみたところ、xlDialogPasteSpecialの場合の引数は、paste_num、operation_num、skip_blanks、transpose だから、

 Application.Dialogs(xlDialogPasteSpecial).Show 3, 1, True, False

のようにすれば良い、というのがあったので、試してみたのですが、同じエラー(1004)になってしまいました。

環境は、Windows2000 / Office2003 です。

ちなみに、「名前を付けて保存」ダイアログボックスの表示は、

 Application.Dialogs(xlDialogSaveAs).Show

だけでうまくいきます。

仕様では、引数が、document_text, type_num, prot_pwd, backup, write_res_pwd, read_only_rec となっていますが、上記のように引数を書かなくても、まともに表示されます。

どのようにすれば、「形式を選択して貼り付け」ダイアログボックスをまともに表示できるのか、教えてください。
よろしくお願いします。

【52428】Re:「形式を選択して貼り付け」ダイアロ...
発言  Jaka  - 07/11/14(水) 10:57 -

引用なし
パスワード
   クリップボードに何も入ってないからだと思います。
何かコピーしておけばエラーなら無いと思います。

【52429】Re:「形式を選択して貼り付け」ダイアロ...
発言  Blue  - 07/11/14(水) 10:57 -

引用なし
パスワード
   http://www.keep-on.com/excelyou/2000lng4/200009/00090058.txt

を参考にしてみてはどうでしょうか?


ちなみに、私の環境(Vista/Excel2007)では
>Application.Dialogs(xlDialogPasteSpecial).Show
でも表示されました。仕様が変わったのかな?

【52430】追加
発言  Jaka  - 07/11/14(水) 11:11 -

引用なし
パスワード
   引数つきの場合、コピーされているものと形式があわないとエラーになるようでした。
By2002

【52431】Re:「形式を選択して貼り付け」ダイアロ...
お礼  ひげくま  - 07/11/14(水) 11:30 -

引用なし
パスワード
   ▼Jaka さん:
>クリップボードに何も入ってないからだと思います。
>何かコピーしておけばエラーなら無いと思います。

早速の回答ありがとうございます。

いろいろやって、解決しました。

質問文には書いていませんでしたが、あるセルをコピーをしてからマクロを実行しています。

ただ、「マクロ」ダイアログボックスを開いて、マクロを選択して実行していました。
よく観察してみたら、「マクロ」ダイアログボックスを開いた時点で、セルがコピー状態であることを示すセル枠の点線の点滅がなくなっていました。

もしかして、「マクロ」ダイアログボックスを開いた時点で、コピー状態が解除されるのかと思い、ボタンにマクロを登録しておき、あるセルをコピーしたあとにボタンでマクロを実行したところ、引数なしでもまともに「形式を選択して貼り付け」ダイアログボックスが表示されました。

Jakaさんの助言で、気づくことができました。
どうもありがとうございました。

【52432】Re:「形式を選択して貼り付け」ダイアロ...
お礼  ひげくま  - 07/11/14(水) 11:32 -

引用なし
パスワード
   ▼Blue さん:
>http://www.keep-on.com/excelyou/2000lng4/200009/00090058.txt
>
>を参考にしてみてはどうでしょうか?

早速の回答ありがとうございます。

私が参考にしたのが、まさしくこのページでした。

問題は解決しました。
詳細はJakaさんへのお礼に書いてあります。

ありがとうございました。

5139 / 13644 ツリー ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free