如何在執行VBA時,產生新檔,並將程式碼移動到新檔中 (急)
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
如何在執行VBA時,產生新檔,並將程式碼移動到新檔中 (急)
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 406
- 主題
- 8
- 精華
- 0
- 積分
- 453
- 點名
- 0
- 作業系統
- WINDOWS 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2015-2-7
- 最後登錄
- 2021-7-31
|
2#
發表於 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
新檔產生按鈕與巨集.rar (34.51 KB)
|
|
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
3#
發表於 2019-11-20 09:29
| 只看該作者
本帖最後由 hugh0620 於 2019-11-20 09:50 編輯
回復 2# n7822123
試著去執行大大提供的檔案,但在:With wb.VBProject.VBComponents.Add(1).CodeModule,這一句就產生錯誤。 |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 154
- 主題
- 1
- 精華
- 0
- 積分
- 200
- 點名
- 2
- 作業系統
- windwos 7
- 軟體版本
- 64bit
- 閱讀權限
- 20
- 註冊時間
- 2017-5-29
- 最後登錄
- 2025-6-27
|
4#
發表於 2019-11-20 10:06
| 只看該作者
回復 3# hugh0620
試試
選項-信任中心-信任中心設定-巨集設定-開發人員巨集設定
-信任存取vba專案物件模型=>打勾 |
|
|
|
|
|
|
- 帖子
- 406
- 主題
- 8
- 精華
- 0
- 積分
- 453
- 點名
- 0
- 作業系統
- WINDOWS 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2015-2-7
- 最後登錄
- 2021-7-31
|
5#
發表於 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 |
|
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
6#
發表於 2019-11-20 12:26
| 只看該作者
回復 5# n7822123
quickfixer 大大的回覆,已經可以,感恩!!
另外,我現在在練習跨活頁呼叫程式碼,依照書本上在練習,但還是有錯誤,麻煩請指正,請參閱檔案!!
跨活頁簿呼叫巨集.rar (20.07 KB)
在檔案設定上,當我呼叫完後,如何將呼叫的檔案關掉。
(因為,使用者在EXCEL上操作能力上比較差,所以,當利用完呼叫的檔案後,可以自行關閉。) |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 559
- 主題
- 58
- 精華
- 0
- 積分
- 626
- 點名
- 0
- 作業系統
- win8
- 軟體版本
- office2013
- 閱讀權限
- 50
- 性別
- 男
- 來自
- TW
- 註冊時間
- 2010-11-22
- 最後登錄
- 2024-6-14
|
7#
發表於 2019-11-20 14:49
| 只看該作者
回復 2# n7822123
大大,你的方式是用模組的方式增加程式碼,再用表單控制項的Button指定巨集。
但可以用ActiveX控制項的Button的方式,直接在Button裡面寫入程式碼嗎?!! |
|
學習才能提升自己
|
|
|
|
|
- 帖子
- 406
- 主題
- 8
- 精華
- 0
- 積分
- 453
- 點名
- 0
- 作業系統
- WINDOWS 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2015-2-7
- 最後登錄
- 2021-7-31
|
8#
發表於 2019-11-20 23:48
| 只看該作者
本帖最後由 n7822123 於 2019-11-20 23:51 編輯
回復 7# hugh0620
大大,你的方式是用模組的方式增加程式碼,再用表單控制項的Button指定巨集。
但可以用ActiveX控制項的Button的方式,直接在Button裡面寫入程式碼嗎?!!
按鈕二
新檔產生按鈕與巨集1120.rar (43.95 KB)
|
|
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助
|
|
|
|
|
- 帖子
- 406
- 主題
- 8
- 精華
- 0
- 積分
- 453
- 點名
- 0
- 作業系統
- WINDOWS 7
- 軟體版本
- 2007
- 閱讀權限
- 20
- 性別
- 男
- 來自
- 台灣
- 註冊時間
- 2015-2-7
- 最後登錄
- 2021-7-31
|
9#
發表於 2019-11-21 01:11
| 只看該作者
本帖最後由 n7822123 於 2019-11-21 01:14 編輯
回復 6# hugh0620
另外,我現在在練習跨活頁呼叫程式碼,依照書本上在練習,但還是有錯誤,麻煩請指正,請參閱檔案!!
在檔案設定上,當我呼叫完後,如何將呼叫的檔案關掉。
(因為,使用者在EXCEL上操作能力上比較差,所以,當利用完呼叫的檔案後,可以自行關閉。)
用程式關掉設定引用項目......我不會,因為我都用 Application.Run 來呼叫
跨活頁簿呼叫巨集.rar (21.38 KB)
|
|
程式是依需求寫的,需求表達不清楚
或者沒有上傳附件,愛莫能助
|
|
|
|
|
- 帖子
- 2843
- 主題
- 10
- 精華
- 0
- 積分
- 2899
- 點名
- 0
- 作業系統
- 〔略〕
- 軟體版本
- 〔略〕
- 閱讀權限
- 100
- 性別
- 男
- 來自
- 〔略〕
- 註冊時間
- 2013-5-13
- 最後登錄
- 2025-6-27
|
10#
發表於 2019-11-23 13:59
| 只看該作者
簡單的事情, 就不要複雜化,
將工作表當做樣式表, 保留必要的空白及格式,
複製至新檔案後, 再貼入需要的資料即可~~ |
|
|
|
|
|
|