Board logo

標題: [發問] 如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。 [打印本頁]

作者: RCRG    時間: 2016-1-17 14:18     標題: 如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。

問題               
如何利用VBA記錄使用動作,並回傳資料至某路徑的特定檔案內。               
               
               
詳細問題內容               
"資料" 活頁簿裡,當使用者每按一下工作表裡的巨集按鈕,就會回傳該巨集名稱、當下日期時間與               
"明細"工作表裡的 L3欄 到另一活頁簿活頁簿(回饋)裡面,而且使用者每按一次就往下新增紀錄一筆(不覆蓋);               
請大大幫我依上面需求撰寫VBA並且以不影響或干擾原本巨集為原則,謝謝!               
               
        註1:本範例皆只是空按鈕,並無巨集。       
        使用習慣:"回饋" 活頁簿會放在一特定路徑裡面(如C:\test)       
                              "資料" 活頁簿則可能被多位使用者複製到任何路徑使用。
下載範例檔
[attach]23129[/attach]

圖片示意
[attach]23130[/attach]
作者: 准提部林    時間: 2016-1-20 21:32

Sub TEST_3()
記錄 ActiveSheet.Shapes(Application.Caller).TextFrame.Characters.Text, [明細!L3]
End Sub
 
 
Sub 記錄(BtnText$, UsrName$)
Dim X As New Application, xB As Workbook
Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls")
xB.Sheets("資料回傳").[B65536].End(xlUp)(2).Resize(1, 3) = Array(UsrName, Now, BtnText)
xB.Close 1
End Sub
 
測試檔:
[attach]23148[/attach]
 
會不會影響原來程式?不確定!!! 
作者: RCRG    時間: 2016-1-23 15:48

回復 2# 准提部林


    Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls")

請教一下准大,上面是您兩檔案同一層的路徑VBA,若我路徑為 "\\TEST\TEST1\測試\來源檔",那我該怎修改VBA路徑呢? (自己亂試了半天還是連結不到..XD)
作者: 准提部林    時間: 2016-1-23 16:43

回復 3# RCRG


區網路徑應包含電腦名稱, 或以[連線網路磁碟機]方法設定路徑,
請網上自行找找資料!!!
作者: RCRG    時間: 2016-1-24 18:54

回復 4# 准提部林


    剛剛又研究了一下,Set xB = X.Workbooks.Open(ThisWorkbook.Path & "\回饋.xls"),原來把ThisWorkbook.Path & 移除就可以連結了,
謝謝准大的答案;

另外我想請問,是不是將VBA都寫在同一個模組裡(如您範例),那麼 Sub 記錄(BtnText$, UsrName$) 就只需一個即可,
如果分開寫在很多模組,那麼每個模組都要有 Sub 記錄(BtnText$, UsrName$) 這樣沒錯吧?




歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)