我在execlA的vba代码里新建了一个execlB,将execlA的某个工作表的部分数据存放到新建的execlB(只有一张表)里,
然后要将execlB的工作表加上密码保护,发现怎么也没保护不了。主要代码如下: Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.SheetsInNewWorkbook = 1 '设置工作薄只有一个工作表
Set xlBook = xlApp.Workbooks.Add '新增工作薄
xlBook.Worksheets(1).Name = "SN" '工作表重新命名
Set xlsheet = xlBook.Worksheets(1) xlsheet.Columns(1).ColumnWidth = 100 '设置列宽
..........................
execlA的单元格数据复制到execlB
.......................... xlsheet.Protect "123"
xlBook.SaveAs Filename:=file, FileFormat:=xlCSV, _
CreateBackup:=False '设置存储格式为csv,保存。
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
Set xlsheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing '释放EXCEL对象
问题就是打开新建的csv文件后,发现对列宽的设置和加密码保护并没有实现。这个问题怎么解决?
然后要将execlB的工作表加上密码保护,发现怎么也没保护不了。主要代码如下: Set xlApp = CreateObject("Excel.Application") '创建EXCEL应用类
xlApp.SheetsInNewWorkbook = 1 '设置工作薄只有一个工作表
Set xlBook = xlApp.Workbooks.Add '新增工作薄
xlBook.Worksheets(1).Name = "SN" '工作表重新命名
Set xlsheet = xlBook.Worksheets(1) xlsheet.Columns(1).ColumnWidth = 100 '设置列宽
..........................
execlA的单元格数据复制到execlB
.......................... xlsheet.Protect "123"
xlBook.SaveAs Filename:=file, FileFormat:=xlCSV, _
CreateBackup:=False '设置存储格式为csv,保存。
xlBook.Close (True) '关闭EXCEL工作簿
xlApp.Quit '关闭EXCEL
Set xlsheet = Nothing
Set xlBook = Nothing
Set xlApp = Nothing '释放EXCEL对象
问题就是打开新建的csv文件后,发现对列宽的设置和加密码保护并没有实现。这个问题怎么解决?
Workbooks.Open Filename:="C:\Documents and Settings\Administrator\桌面\新建 Microsoft Excel 工作表.xls"
Application.DisplayAlerts = False
ActiveWorkbook.SaveAs ActiveWorkbook.FullName, _
FileFormat:=xlNormal, Password:="1234", WriteResPassword:="", _
Application.DisplayAlerts = True