Excel密码并切出标签名称

我正在设置一个macros来打开目录中的所有文件,并将每个文件夹中的某个选项卡复制到一个组合文件(将它们合并到一个工作簿中)。 我有两个问题。 首先,这些文件是密码保护的 – 所以当我使用这一行时,它会打开文件。

Set gwkbInputdata = Workbooks.Open(gRnCT_File_Loc & gsInputFileName) 

但是,当它的密码保护失败。 所以我添加了以下内容,但仍然失败。

 Set gwkbInputdata = Workbooks.Open(gRnCT_File_Loc & gsInputFileName),Password = "openfile" 

第二个问题 – 当我复制的标签(表),我想用他们的文件名称命名他们。 然而,文件名太长 – 所以我想把名字记到第一个空格(例如“Test file May 13”=表格名“Test”)。 我如何获得这个代码的工作。

任何帮助不胜感激。

下面的完整代码:

* gRnCT_File_Loc =目录位置。 * gsInputFileName =文件名。

 Code to date: Sub Pulldata() Application.ScreenUpdating = False Application.DisplayAlerts = False Set gRwksconfigeration = Sheets(gcsConfigSheetName) gRnCT_File_Loc = gRwksconfigeration.Range(CT_File_Loc) gRnCT_Tab_Search = gRwksconfigeration.Range(CT_Tab_Search) gsInputFileName = Dir(gRnCT_File_Loc) Set gwkscurrent = ActiveWorkbook For Each ws In ThisWorkbook.Worksheets If ws.Name <> gcsConfigSheetName Then ws.Delete Next ws Do On Error GoTo err: Set gwkbInputdata = Workbooks.Open(gRnCT_File_Loc & gsInputFileName) On Error GoTo 0 On Error GoTo err1: With Sheets(gRnCT_Tab_Search) On Error GoTo 0 End With gsInputFileName = Dir Loop Until gsInputFileName = vbNullString Application.ScreenUpdating = True Application.DisplayAlerts = True Exit Sub err: MsgBox ("No files or files in incorrect format in " & gRnCT_File_Loc) Application.ScreenUpdating = True Application.DisplayAlerts = True Exit Sub err1: MsgBox ("Sheet " & gRnCT_Tab_Search & " doesn't exist in file " & gsInputFileName) Application.ScreenUpdating = True Application.DisplayAlerts = True Resume Next End Sub 

你缺less一个:密码后

 Set gwkbInputdata = Workbooks.Open(gRnCT_File_Loc & gsInputFileName),Password = "openfile" 

应该:

 Set gwkbInputdata = Workbooks.Open(gRnCT_File_Loc & gsInputFileName,Password:="openfile") 

你可以使用分隔作为你的分隔符例如第二个问题

 Split(str, " ")(0) 

其中str是文件的原始名称,例如“testing文件5月13日”

关于获取文件名第一部分的第二个问题,请尝试:

 if(instr(gsInputFileName," ") > 0 then short_file_name=left(gsInputFileName,instr(gsInputFileName," ")-1) else short_file_name=gsInputFileName endif