人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

エクセルの質問です。
ActiveWorkbook.Saveを使う時に下記のように使うことはできますか。

1ユーザーフォームのテキストボックスに入力された文字列をファイルの先頭につける
2今日の日付を末尾につける



報告書.xsl
を自動的に

太郎報告書20070528.xsl

にして保存する。

ユーザーはこのことを意識しなくても自動的にやってくれるというボタンを考えています。

よろしくお願いいたします。

●質問者: clinejp
●カテゴリ:コンピュータ インターネット
✍キーワード:XSL エクセル テキスト ファイル ボタン
○ 状態 :終了
└ 回答数 : 1/1件

▽最新の回答へ

1 ● s-n-k
●60ポイント

ActiveWorkbook.Save で実現するには保存後にブックを別名でコピーするという方法で実現できると思います。

イメージとしてはこんな感じになるのではないでしょうか?

'FileSystemObject を使用しているので以下の手順で Microsoft Scripting Runtime を参照設定してください。
'1. メニューの [ツール] -> [参照設定]
'2. 開いたウィンドウから Microsoft Scripting Runtime にチェックをつける
'3. OK をクリック

Sub Sumple()
 Dim Prefix As String
 Dim Suffix As String
 Dim MyName As String
 Dim MyPath As String
 Dim FullName As String
 Dim Src As String
 Dim Dst As String
 Dim objFSO As FileSystemObject
 
 ' 変数初期化
 FullName = ActiveWorkbook.Name
 MyName = Left(FullName, InStrRev(FullName, ".") - 1)
 MyPath = ActiveWorkbook.Path
 Prefix = UserForm1.TextBox1.Text
 Suffix = Right(ActiveWorkbook.Name, Len(ActiveWorkbook.Name) - Len(MyName))
 Src = MyPath & "\" & FullName
 Dst = MyPath & "\" & Prefix & MyName & Format(Date, "yyyymmdd") & Suffix
 
 ' ブックの保存
 ActiveWorkbook.Save

 ' 保存したブックを別名でコピーする
 Set objFSO = New FileSystemObject
 objFSO.CopyFile Src, Dst, True
 Set objFSO = Nothing
End Sub

この場合ですと、保存後のブックにもマクロが残ってしまいますのでその点は注意が必要です。

また、コピー先のファイルと同名のファイルがあった場合は上書きされます。

URLはダミーです。

http://q.hatena.ne.jp

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ