用OLEObject导出excel出了点问题。
用的是pb6.5。
功能是打开模版然后写数据,保存到新的excel文件中,同时给工作表写保护,并且不能够选择。

问题是现在生成出来excel保护是起到了作用,但是禁止选择这个功能就失效了,也不知道为什么。


以下是一段测试代码:

OLEObject lo_excel
OLEObject lo_excel1

//插入标题
lo_excel = CREATE OLEObject
lo_excel.ConnectToNewObject("excel.Application")
lo_excel.workbooks.open("C:\template.xls")

lo_excel.WorkSheets[1].Activate

//模版先在保护中用了[禁止在表上进行任何选择],此时EnableSelection的值为-4142
MessageBox("",string(lo_excel.worksheets[1].EnableSelection))

lo_excel.worksheets[1].Unprotect("111")

lo_excel.worksheets[1].cells[1,2].value = "哈哈哈"
lo_excel.worksheets[1].cells[1,4].value = "是不是"
lo_excel.worksheets[1].cells[1,6].value = "得得得"

//给工作表设保护
lo_excel.worksheets[1].Protect("222", true, true, true)
//给工作表设[禁止在表上进行任何选择]
lo_excel.worksheets[1].EnableSelection = -4142

lo_excel.ActiveWorkBook.SaveAs("C:\test1.xls")
lo_excel.quit()
lo_excel.disconnectobject()


//为了测试再次打开前面生成的excel文件
lo_excel1 = CREATE OLEObject
lo_excel1.ConnectToNewObject("excel.Application")
lo_excel1.workbooks.open("C:\test1.xls")
lo_excel1.WorkSheets[1].Activate

//此时EnableSelection的值为0,而不是-4142,感觉很奇怪
MessageBox("",string(lo_excel1.worksheets[1].EnableSelection))

lo_excel1.quit()
lo_excel1.disconnectobject()


求求各位帮帮忙!!