• ベストアンサー

上書保存しコピーするVBA

_Kyleの回答

  • ベストアンサー
  • _Kyle
  • ベストアンサー率78% (109/139)
回答No.3

●ブックのパスではなくブックそのものをクリップボードに入れたい ●既存のメールへの返信の形にするためExcel機能での添付では不可 ということですね。 以下、かなり無理矢理な感じですが、当座とりあえずの手法として…。 ■動作の概要 1.アクティブなブックが保存されているフォルダを、エクスプローラで開く 2.アクティブなブックをコピーしてエクスプローラを閉じる。 ※保存まわりの処理は省略しています。 ※エクスプローラをvbHideで開いても概ね動作はしますが  たまに失敗することがあり、また、手動で割り込みをかけるとマズイので  vbNormalFocusで開くようにしています。 ※フォルダを開いた時点と、ALT+(E→C)を送った時点で1秒ずつウェイトをかけています。  2度目のウェイトは本来要らないハズなんですが、それでもたまに失敗するので一応念のために。 '------↓ ココカラ ↓----------------------------------------------- Sub Sample()  Shell "Explorer /select, """ & ActiveWorkbook.FullName & """", vbNormalFocus  Application.Wait Now + TimeValue("0:00:01")  SendKeys "%(EC)", True  Application.Wait Now + TimeValue("0:00:01")  SendKeys "%{F4}", True End Sub '------↑ ココマデ ↑----------------------------------------------- WinXP,Excel2003,2007/WinVISTA,Excel2007で動作確認。 以上ご参考まで。

toksan1963
質問者

お礼

ありがとうございます。 さっそく試してみました。イメージ通りに動作しました。助かりました。

関連するQ&A

  • コピーしたテキストを保存

    ニュースサイトや掲示板を見て面白い話などをコピーしてテキストに貼り付けて保存しています。 このいちいち貼り付けて上書き保存をする手間を省きたいので コピーするだけでクリップボード内のデータが自動的に1つのファイルに保存されるようなソフトってないですか。 よろしくお願いします。

  • Excel VBAの機能を別ブックに複写

     こんにちは。 1つのブックにボタンを追加し、VBAをコーディングし機能を 持たせました。 このボタン+VBAの機能を他の100個のブックにコピーしていきたいのですが 何か良い方法はありませんか? EXCELは2007です。 よろしくお願いします。

  • メール本文をワンクリックでコピーしたい

    メールを受信した際、本文をワンクリックでコピーできるメーラーを探しています。 以前はWindows Live Mailでのみ、この機能がありましたがサービス終了し代替品が必要になりました。 右クリック→全選択→コピーをすべての受信メールでいちいち行うのが煩雑なので、この機能を重宝しておりました。 同じように、受信したメールの本文をワンクリック、あるいはプログラミングやソフトなどで自動でクリップボードに保存する手段はないでしょうか。 わかりにくい質問で申し訳ありませんが、よろしくお願いいたします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3コピー元ワークシート3 という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • EXCEL VBA ワークシートのコピーについて

    seaclearsky8です。 一つのブックに何枚ものワークシートを追加して保存するVBAについて ご教授、よろしくお願いします。 コピー元  MASTER Book MASTER Workseets コピー先 Copy Book copy Worksheets コピー元にはワークシートがMASTERワークシートの一枚しかありません。 その一枚のワークシートに値をVBAで入れていき処理し コピー先のコピーBOOKにワークシートをコピーしていきたいです。 しかし、MASTERBOOKの処理が何通りかあり、 コピー元の一枚のワークシートに 処理別にデータを写し コピー先BOOKに          ワークシート名 ワークシート1 処理1ワークシート  ワークシート2 処理2ワークシート ワークシート3 処理3ワークシート という具合にワークシートを複数コピーしたいのですが 処理ごとにデータを代入し、コピー処理はできるのですが。 コピー先BOOK ワークシート3 処理3ワークシート だけしかコピーされてないBOOKが作成されます。 上書きされているのだと思われます。 対処法が調べましたが見つけられていません。 すいませんが対処法及び参考VBA等ご教授宜しくお願いいたします。

  • エクセルVBAでクリップボード内容をクリア

    こんにちは。 エクセルのVBAの処理の中で、ある部分をコピーしてそれを、 貼り付けする処理をしています。 処理終了後、ファイルを閉じるときに、クリップボードに コピーの内容が残っている旨のメッセージがでてきます。 このメッセージを出さない様に、クリップボードの内容を クリアするにはどのようにすればよろしいでしょうか? 申し訳ありませんが、お教え頂きますようお願いいたします。

  • VBScriptでクリップボードにコピーする方法

    VBScriptでクリップボードにMsgboxの出力データをコピーする方法がわかりません。 ちなみにMsgboxの出力データは変数で、処理の流れとしてMsgboxのすぐ後に クリップボード上に変数をコピーをするようにしたいと考えています。 ネットで検索した結果、下記内容がありましたが、1年前くらいにまったく同じ目的のVBScriptを作成したことがあり、その時は特に制限なく目的のVBScriptが作成できたので、どうも納得できません。 その時のを残しておけばよかったと今になって後悔。。。しかもどうやったか忘れた。。。。 ===ネット検索結果=== WSH と VBScript のいずれにもクリップボードを操作する機能はありません。どちらを使用しても、クリップボードにデータをコピーしたりクリップボードからデータを貼り付けたりすることはできません。一方、Internet Explorer ではクリップボードを操作することができます。 他にもネット上で、とりあえずInputBoxに出力してコピーするような流れの内容がありましたが、今回の目的(見栄えとして)として、どうしてもMsgboxのすぐ後で処理させたいのでわかる方おりましたら宜しくお願いします。

  • EXCEL VBAでファイルを保存しないで閉じたい

    EXCEL VBAでファイルを保存しないで閉じたい EXCEL VBAでコードを書いています。ワーク用EXCELが必要で、新規ブックを作成しています。 新規ブックで処理をさせた後に自動でブックを閉じたいと思っています。 そこで, WB.QUIT WB.CLOSE True と書いたのですが、新規ブックは閉じずにそのまま残っている状態です。 これを保存しないまま閉じるにはどのような処理が必要でしょうか?

  • エクセル(VBA)のブック間でのコピーペーストについて

    こんにちは。VBA入門レベルのものですが、質問させてください。 ブックAとブックBを開いた状態にし、 ・ブックA⇒VBAを組む&データ貼付け先 ・ブックB⇒データコピー元 ブックBの特定セル(例:D10)からブックAの特定セル(例:E12)にコピー⇒貼付 する方法を探しています。 なお、ブックBは、ブック名とシート名が都度変わるので、「ブックAではない方の開いているエクセルファイルからデータをコピーし、ブックAに貼付ける」の構文にしたいです。 また、コピペの他に数式(イコール)で飛ぶ方式でもかまいません。 この内容でのVBAの記述方法が分かる方、どなたか教えて頂けますでしょうか。 すみませんがよろしくお願いいたします。 ※エクセル2003です。

  • エクセルでシートを新規Bookにコピーして保存

    いつもお世話になっております。 毎回お世話になっております。 過去にも似たような質問をさせていただいてその時々の要求は解決しているのですが、悲しいかな各々のVBAが組み合わせられません。(というレベルです) やりたいことは、特定のBookのアクティブシートを別の新規BookのSheet1にコピーして数値で貼り付ける。➣ここまではできました。 問題はこの、新規Bookを指定のセル(D5とA1)の内容をファイル名にして指定のフォルダに保存する。が出来ません。 1.新規BookでVBAを動かしたいのですが、複数のPCで使う時にどこに記録するのかわかりません。 2.コピーして数値で貼り付けから保存までのVBAは元のシートから直接(1回の操作)でも、新規Book1を表示させてからの操作でもどちらでも良いです。 3.Book1を保存するファイル形式はVBAが含まれないxlsxが好ましいです。(メールで送信するので)