標題:
如何在執行VBA時,產生新檔,並將程式碼移動到新檔中 (急)
[打印本頁]
作者:
hugh0620
時間:
2019-11-19 15:23
標題:
如何在執行VBA時,產生新檔,並將程式碼移動到新檔中 (急)
Dear 大大
撰寫上遇到瓶頸,現在有需要在產生新檔時,可以將按鍵移動到新檔上。
缺如何在新檔中設定按鍵與設定程式碼。
提供一個小檔案說明。
[attach]31427[/attach]
作者:
n7822123
時間:
2019-11-20 02:24
本帖最後由 n7822123 於 2019-11-20 02:31 編輯
回復
1#
hugh0620
在同路徑下產生 "Test.xls" 檔,並且產生按鈕+產生巨集並且指定給該按鈕
以下是我寫的範例程式,請自行修改成你要的
Application.DisplayAlerts = False
oPath = ThisWorkbook.path
Set wb = Workbooks.Add '新增新檔
With wb.VBProject.VBComponents.Add(1).CodeModule
.InsertLines 1, "Sub Test()"
.InsertLines 2, "Msgbox ""這是測試"""
.InsertLines 3, "End Sub"
End With
With ActiveSheet.Buttons.Add(50, 50, 100, 30)
.OnAction = wb.Name & "!Test"
.Characters.Text = "新增的按鈕"
End With
wb.SaveAs oPath & "\" & "Test.xls", xlNormal
wb.Close True
Set wb = Nothing
[attach]31433[/attach]
作者:
hugh0620
時間:
2019-11-20 09:29
本帖最後由 hugh0620 於 2019-11-20 09:50 編輯
回復
2#
n7822123
試著去執行大大提供的檔案,但在:With wb.VBProject.VBComponents.Add(1).CodeModule,這一句就產生錯誤。
作者:
quickfixer
時間:
2019-11-20 10:06
回復
3#
hugh0620
試試
選項-信任中心-信任中心設定-巨集設定-開發人員巨集設定
-信任存取vba專案物件模型=>打勾
作者:
n7822123
時間:
2019-11-20 12:10
回復
3#
hugh0620
應該要可以才對,不用常數代號再試看看
With wb.VBProject.VBComponents.Add(
vbext_ct_StdModule
).CodeModule
.InsertLines 1, "Sub Test()"
.InsertLines 2, "Msgbox ""這是測試"""
.InsertLines 3, "End Sub"
End With
作者:
hugh0620
時間:
2019-11-20 12:26
回復
5#
n7822123
quickfixer 大大的回覆,已經可以,感恩!!
另外,我現在在練習跨活頁呼叫程式碼,依照書本上在練習,但還是有錯誤,麻煩請指正,請參閱檔案!!
[attach]31434[/attach]
在檔案設定上,當我呼叫完後,如何將呼叫的檔案關掉。
(因為,使用者在EXCEL上操作能力上比較差,所以,當利用完呼叫的檔案後,可以自行關閉。)
作者:
hugh0620
時間:
2019-11-20 14:49
回復
2#
n7822123
大大,你的方式是用模組的方式增加程式碼,再用表單控制項的Button指定巨集。
但可以用ActiveX控制項的Button的方式,直接在Button裡面寫入程式碼嗎?!!
作者:
n7822123
時間:
2019-11-20 23:48
本帖最後由 n7822123 於 2019-11-20 23:51 編輯
回復
7#
hugh0620
大大,你的方式是用模組的方式增加程式碼,再用表單控制項的Button指定巨集。
但可以用ActiveX控制項的Button的方式,直接在Button裡面寫入程式碼嗎?!!
按鈕二
[attach]31440[/attach]
作者:
n7822123
時間:
2019-11-21 01:11
本帖最後由 n7822123 於 2019-11-21 01:14 編輯
回復
6#
hugh0620
另外,我現在在練習跨活頁呼叫程式碼,依照書本上在練習,但還是有錯誤,麻煩請指正,請參閱檔案!!
在檔案設定上,當我呼叫完後,如何將呼叫的檔案關掉。
(因為,使用者在EXCEL上操作能力上比較差,所以,當利用完呼叫的檔案後,可以自行關閉。)
用程式關掉設定引用項目......我不會,因為我都用
Application.Run
來呼叫
[attach]31441[/attach]
作者:
准提部林
時間:
2019-11-23 13:59
簡單的事情, 就不要複雜化,
將工作表當做樣式表, 保留必要的空白及格式,
複製至新檔案後, 再貼入需要的資料即可~~
歡迎光臨 麻辣家族討論版版 (http://forum.twbts.com/)