变更表代码名称 [英] Change Sheet code name
本文介绍了变更表代码名称的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
由于某些原因,以下代码仅在vbe中运行,在事件处理代码中运行时或通过宏列表运行时,代号仍为sheet1.
For some reason the below code only works when run in the vbe, when run in the event handling code, or by macro list the codename remains sheet1.
请有人可以调查吗?
Sub changesheetcodename()
Dim ws,tsst as worksheet
For Each Ws In ActiveWorkbook.Worksheets
If Ws.Name <> "Instructions" then ws.delete
Next Ws
Worksheets.Add(After:=Worksheets(Worksheets.Count)).Name = "Sheet1"
set tsst = Sheets("Sheet1")
With tsst
.Parent.VBProject.VBComponents(.CodeName) _
.Properties("_CodeName") = "test"
End With
End Sub
推荐答案
Sub change_code_name()
Dim wbk As Object, sheet As Object
ActiveWorkbook.VBProject.Name = "VBAProject"
Set wbk = ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.CodeName)
wbk.Name = "wbk_code_name"
Set sheet = ActiveWorkbook.VBProject.VBComponents(ActiveWorkbook.Sheets(1).CodeName)
sheet.Name = "sheet_code_name"
End Sub
还需要访问VBAProject
:请参阅宏设置"并设置信任对VBA对象模型的访问" .要以编程方式更改设置,请查看
Also the access to the VBAProject
is required: see "Macro settings" and set "Trust access to the VBA object model". To programmatically change the settings, look here.
这篇关于变更表代码名称的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文