Excel VBA質問箱 IV

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

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


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

【61491】ThisWookbook内に書いたプログラムのコピー方法 TOKU 09/5/13(水) 13:29 質問[未読]
【61495】Re:ThisWookbook内に書いたプログラムのコ... Jaka 09/5/13(水) 16:03 発言[未読]
【61499】Re:ThisWookbook内に書いたプログラムのコ... TOKU 09/5/13(水) 21:01 発言[未読]
【61500】Re:ThisWookbook内に書いたプログラムのコ... つん 09/5/13(水) 21:16 発言[未読]
【61501】Re:ThisWookbook内に書いたプログラムのコ... TOKU 09/5/13(水) 21:32 発言[未読]
【61516】Re:ThisWookbook内に書いたプログラムのコ... Jaka 09/5/14(木) 10:30 発言[未読]

【61491】ThisWookbook内に書いたプログラムのコピ...
質問  TOKU  - 09/5/13(水) 13:29 -

引用なし
パスワード
   Excelで名前を付けて保存した場合、
VBAでThisWookbook内に書いたプログラムを自動でコピーする方法ってあるのでしょうか??もし方法がありましたらどなたか教えて頂けないでしょうか??

【61495】Re:ThisWookbook内に書いたプログラムの...
発言  Jaka  - 09/5/13(水) 16:03 -

引用なし
パスワード
   >ThisWookbook内に書いたプログラムを自動でコピーする方法って
名前を付けて保存しても、コードは残っているだろうに、必要性がよく解りません。
手動でコピペでもすればと考えてしまいます。
コピーって言うより1行づつ抜き出す方法しか解りません。
適当な所に書き出してください。

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If SaveAsUI = True Then
  MsgBox "名前を付けて保存" '実行したのかキャンセルしたのかまではわからない。
End If
End Sub

With ThisWorkbook.VBProject.VBComponents("Thisworkbook").CodeModule
  For i = 1 To .CountOfLines
    MsgBox i & "行目 = " & .Lines(i, 1)
  Next
End With

【61499】Re:ThisWookbook内に書いたプログラムの...
発言  TOKU  - 09/5/13(水) 21:01 -

引用なし
パスワード
   すみません。書き方を間違っていました。

ファイル1のsheet1、sheet2、sheet3があって、sheet2のみを新しいブックに
コピーしファイル2とした場合、ファイル1のThisWookbook内に書いた
プログラムを自動的にファイル2のThisWookbook内にコピーしたいです。
可能でしょうか??

【61500】Re:ThisWookbook内に書いたプログラムの...
発言  つん  - 09/5/13(水) 21:16 -

引用なし
パスワード
   横からこんばんは^^

>ファイル1のsheet1、sheet2、sheet3があって、sheet2のみを新しいブックに
>コピーしファイル2とした場合、ファイル1のThisWookbook内に書いた
>プログラムを自動的にファイル2のThisWookbook内にコピーしたいです。
>可能でしょうか??

Sheet2だけコピーして保存するんじゃなくて、
ファイル1をまるまる「名前をつけて保存」してから、いらんシートを削除したらどうですか?
それやったら、もれなくワークブックモジュールのコードもついてくると思います^^

【61501】Re:ThisWookbook内に書いたプログラムの...
発言  TOKU  - 09/5/13(水) 21:32 -

引用なし
パスワード
   ご教授ありがとうございます。
つんさんの言う通りなんですが、他のプログラムとの兼ね合いがあって
今回聞いてみたところです。。。

▼つん さん:
>横からこんばんは^^
>
>>ファイル1のsheet1、sheet2、sheet3があって、sheet2のみを新しいブックに
>>コピーしファイル2とした場合、ファイル1のThisWookbook内に書いた
>>プログラムを自動的にファイル2のThisWookbook内にコピーしたいです。
>>可能でしょうか??
>
>Sheet2だけコピーして保存するんじゃなくて、
>ファイル1をまるまる「名前をつけて保存」してから、いらんシートを削除したらどうですか?
>それやったら、もれなくワークブックモジュールのコードもついてくると思います^^

【61516】Re:ThisWookbook内に書いたプログラムの...
発言  Jaka  - 09/5/14(木) 10:30 -

引用なし
パスワード
   >コピーって言うより1行づつ抜き出す方法しか解りません。
って、ここにかいたのをすっかり忘れてた。
ht tp://www.vbalab.net/vbaqa/c-board.cgi?cmd=one;no=6132;id=excel

↑ここを参考にしてください。
この手のマクロは、ウイルスチェックでファイルごと削除される可能性があります。
他、VBProjectなどで検索すれば他にも見つかります。

データブックとマクロブックを別にしておけば、つんさんの方法が取れると思います。
俗に言う配布の問題になるのかなぁ。

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