Ms access 在VBA中更改Excel工作表名称
我需要用文本框数据更改工作表“USS IWO JIMA”,换句话说,工作表的名称应该来自文本框。我试过了,但做不到Ms access 在VBA中更改Excel工作表名称,ms-access,vba,ms-access-2010,Ms Access,Vba,Ms Access 2010,我需要用文本框数据更改工作表“USS IWO JIMA”,换句话说,工作表的名称应该来自文本框。我试过了,但做不到 Set objApp=New Excel.Application “这是新的”您的excel电子表格文件位于此处 设置objBook=objApp.Workbooks.Add(strTemplatePath) '要导出到的工作表的名称 设置objApp=objBook.Parent Set objSheet=objBook.Worksheets(“USS IWO JIMA”) 您可
Set objApp=New Excel.Application
“这是新的”您的excel电子表格文件位于此处
设置objBook=objApp.Workbooks.Add(strTemplatePath)
'要导出到的工作表的名称
设置objApp=objBook.Parent
Set objSheet=objBook.Worksheets(“USS IWO JIMA”)
您可以这样做:
Public Sub RenameWorkSheet()
Dim xls As Excel.Application
Dim wkb As Excel.Workbook
Dim wks As Excel.Worksheet
Set xls = New Excel.Application
Set wkb = xls.Workbooks.Open("c:\test\workbook1.xlsx")
Set wks = wkb.Worksheets(1)
wks.Name = "My New Name"
wkb.Close True
Set wks = Nothing
Set wkb = Nothing
xls.Quit
Set xls = Nothing
End Sub
请注意,不允许使用任何名称:
Public Function TrimExcelSheetName( _
ByVal strSheetName As String) _
As String
' Replaces characters in strSheetName that are
' not allowed by Excel in a sheet name.
' Truncates length of strSheetName to clngSheetNameLen.
'
' 2000-12-07. Gustav Brock, Cactus Data ApS, Copenhagen
' 2002-05-22. Extended selection of invalid chars.
' Replaced string concatenating with Mid().
' No special error handling.
On Error Resume Next
' ' String containing all not allowed characters, minimum.
' Const cstrInValidChars As String = "\/:*?"
' String containing all not allowed characters, extended.
Const cstrInValidChars As String = "\/:*?""<>|[]"
' Replace character for not allowed characters.
Const cstrReplaceChar As String * 1 = "-"
' Maximum length of a sheet name in Excel.
Const clngSheetNameLen As Long = 31
Dim lngLen As Long
Dim lngPos As Long
Dim strChar As String
Dim strTrim As String
' Strip leading and trailing spaces.
strTrim = Left(Trim(strSheetName), clngSheetNameLen)
lngLen = Len(strTrim)
For lngPos = 1 To lngLen Step 1
strChar = Mid(strTrim, lngPos, 1)
If InStr(cstrInValidChars, strChar) > 0 Then
Mid(strTrim, lngPos) = cstrReplaceChar
End If
Next
TrimExcelSheetName = strTrim
End Function
Public函数名(_
ByVal strSheetName(字符串名称)_
作为字符串
'替换strSheetName中
Excel不允许在工作表名称中使用“”。
'将strSheetName的长度截断为clngSheetNameLen。
'
' 2000-12-07. Gustav Brock,仙人掌数据ApS,哥本哈根
' 2002-05-22. 无效字符的扩展选择。
'将字符串连接替换为Mid()。
'没有特殊的错误处理。
出错时继续下一步
“”字符串,至少包含所有不允许的字符。
'Const cstrInValidChars As String=“\/:*?”
'字符串,包含所有不允许的字符,已扩展。
Const cstrInValidChars As String=“\/:*?”“|[]”
'为不允许的字符替换字符。
Const cstreplacechar作为字符串*1=“-”
'Excel中工作表名称的最大长度。
Const clngSheetNameLen,长度=31
幽幽幽幽
暗LNGPO尽可能长
作为字符串的Dim strChar
作为字符串的Dim strTrim
'带前导和尾随空格。
strTrim=左侧(装饰件(strSheetName),clngSheetNameLen)
lngLen=Len(strTrim)
对于LNGPO=1至lngLen步骤1
strChar=Mid(strTrim,lngPos,1)
如果InStr(cstrInValidChars,strChar)>0,则
Mid(strTrim,lngPos)=cstrReplaceChar
如果结束
下一个
TrimExcelSheetName=strTrim
端函数