標題:
[發問]
請教一下,建立檔案問題~
[打印本頁]
作者:
fusayloveme
時間:
2012-1-16 16:23
標題:
請教一下,建立檔案問題~
各位版上大大好,小弟我有幾個問題,假設我的Sheet1中的A1是"E004128",我該如何使用VBA,
讓我在另存新檔時,能夠讓存檔名稱顯示為E004128_目前時間(EX.E004128_1010116,明天的話就是E004128_1010117 )呢!?
先謝謝各位大大的回答~感恩!
作者:
jackdream
時間:
2012-1-16 18:08
本帖最後由 jackdream 於 2012-1-16 18:17 編輯
存檔名稱顯示為E004128_目前時間(EX.E004128_1010116
參考看看~(預設儲存路徑為C:\ )
ActiveWorkbook.SaveAs Filename:="C:\" & [A1] & "_" & Format(Date, "yyyymmdd")
如果要改成民國年..
ActiveWorkbook.SaveAs Filename:="C:\" & [A1] & "_" & Format(Date, "
e
mmdd")
作者:
fusayloveme
時間:
2012-1-17 08:51
回復
2#
jackdream
大大,不好意思~小弟比較愚昧,能否給比較完整的巨集設定,小弟自行嘗試了一下,檔案名稱是改成我要的沒錯喔,但好像無法自動存檔~^^"
先謝謝大大的熱心指導! 感恩^_^
作者:
GBKEE
時間:
2012-1-17 09:28
回復
3#
fusayloveme
ThisWorkbook 檔案關閉時的預設程序
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.SaveAs Filename:="C:\" & [A1] & "_" & Format(Date, "emmdd")
End Sub
複製代碼
作者:
fusayloveme
時間:
2012-1-17 11:21
回復
4#
GBKEE
GB大大~我嘗試把您的代碼放進去~後面,但系統說必須要有一個End Sub,請問我該如何解決>< 我真的很新手...
Sub Macro1()
ChDir "C:\Users\hyc\Desktop" 是我用錄製巨集的方式~抓出來的
ActiveWorkbook.SaveAs Filename:="C:\Users\hyc\Desktop" & [A1] & "_" & Format(Date, "emmdd")
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.SaveAs Filename:="C:\Users\hyc\Desktop" & [A1] & "_" & Format(Date, "emmdd")
End Sub
複製代碼
作者:
register313
時間:
2012-1-17 11:36
回復
5#
fusayloveme
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Me.SaveAs Filename:="C:\Users\hyc\Desktop" & [A1] & "_" & Format(Date, "emmdd")
End Sub
複製代碼
GBKEE版主之程式碼是要放在
ThisWorkbook
內
[attach]9239[/attach]
關閉檔案時會自動儲存
作者:
fusayloveme
時間:
2012-1-17 12:00
回復
6#
register313
喔喔~了解!~我剛剛嘗試了一下,依照您給的代碼放進去那個" thiswookbook",儲存出來的檔名格式會多出來"Desktop",請問該如何解決呢?
另外,其實我想問這個問題的最主要原因,是如果我從ACCESS抓資料下來到EXCEL,我要直接讓電腦...抓取資料、存取資料(儲存的格式就是像我講的那樣,A1_現在時間),
然後自動化,不曉得這樣有沒有辦法做到,並非是單一個EXCEL作業,然後儲存檔案(因為如果是這樣,自己輸入檔名,可能會快一些..)
先謝謝各位的解答~^_^
作者:
GBKEE
時間:
2012-1-17 13:51
回復
7#
fusayloveme
儲存出來的檔名格式會多出來"Desktop",請問該如何解決呢?
是這樣嗎?
Me.SaveAs Filename:="C:\Users\hyc\Desktop
\
" & [A1] & "_" & Format(Date, "emmdd")
作者:
fusayloveme
時間:
2012-1-17 14:05
回復
8#
GBKEE
感謝GBKEE大~已成功解決困擾~^^"
另外,其實我想問這個問題的最主要原因,就像我7樓所說的那樣,不曉得可否利用巨集做到呢?~謝謝
作者:
GBKEE
時間:
2012-1-17 14:30
本帖最後由 GBKEE 於 2012-1-17 20:37 編輯
回復
9#
fusayloveme
試試看
Option Explicit
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim E As Workbook, xPath As String
xPath = "C:\Users\hyc\Desktop\"
For Each E In Workbooks 'Workbooks: 物件集合(活頁簿) 中依序處裡 E (活頁簿)
If E.Name <> ThisWorkbook.Name Then '程式所在的活頁簿名稱<>處裡 E (活頁簿)的名稱
'不是程式碼所在的活頁簿
With E.Sheets(1) '活頁簿的第1個工作表
E.SaveAs xPath & .[a1] & Format(Date, "emmdd")
E.Close '活頁簿 關閉檔案
End With
End If
Next
End Sub
複製代碼
作者:
fusayloveme
時間:
2012-1-18 11:17
回復
10#
GBKEE
太感謝大大回復!可惜的是小弟笨拙,不太清楚相關程式碼所代表的意思 ><,我努力嘗試看看~先謝謝大大您的解答~^^
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)