首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ Builder >

关于在vba里设置execl相关属性有关问题

2013-01-06 
关于在vba里设置execl相关属性问题我在execlA的vba代码里新建了一个execlB,将execlA的某个工作表的部分数

关于在vba里设置execl相关属性问题
我在execlA的vba代码里新建了一个execlB,将execlA的某个工作表的部分数据存放到新建的execlB(只有一张表)里,
然后要将execlB的工作表加上密码保护,发现怎么也没保护不了。主要代码如下:其中execlA格式xls的,execlB会以csv格式保存

  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文件后,发现对列宽的设置和加密码保护并没有实现。这个问题怎么解决?

[解决办法]
有没有搞错呀,CSV文件那里还管你什么列宽和密码保护呀,这些信息不会保存的。要那样你就存成Excel自己的格式才行。
[解决办法]
CSV文件其实就是以分隔符隔开的文本文件,不能存储这些额外的信息。你必须得选择富文本的XLS格式。

热点排行