使用完全权限创建Excel文件并使用ASP(VBScript)插入数据?

时间:2011-03-24 07:39:22

标签: excel asp-classic vbscript

请帮帮我。

我想使用asp(vb脚本)创建具有数据和完全写入权限(Everyone用户)的excel文件。

Set objExcel = CreateObject("Excel.Application")

Set objWorkbook = objExcel.Workbooks.Add()

objWorkbook.SaveAs(strFileName)

我使用此方法创建excel文件,但此excel文件获得readonly权限。 那么,我需要如何处理写入权限以及如何将数据插入此Excel文件中。

由于

3 个答案:

答案 0 :(得分:0)

我不确定为什么它被设置为只读,但您可以使用SetAttr函数将文件权限更改为可写。 This page有更多信息和一些示例代码。

答案 1 :(得分:0)

我之前遇到过这种情况。完成后,您必须退出excel或关闭工作簿。只要Excel正在运行且工作簿处于打开状态,它将始终是只读的。一旦你的脚本完成了对excel文件所需的操作,保存它(就像你正在做的那样),但也关闭它。在完美的世界中,关闭excel对象并将其设置为空。尝试在脚本末尾添加以下内容:

objWorkbook.Close
Set objWorkbook = Nothing  '<-- not needed if at the end of the script.
objExcel.Close
Set objExcel = Nothing     '<-- not needed if at the end of the script.

请记住,Excel本质上是一个单一的用户环境。

答案 2 :(得分:0)

 strPathExcel="c:\myExcelFile.xlsx"
Set objExcel = CreateObject("Excel.Application")
objExcel.Visible = False
Set objWorkbook = objExcel.Workbooks.Add()
objWorkbook.SaveAs strPathExcel

'========== change the premission for Everyone to Modify ===============
 CreateObject("Wscript.Shell").Run "ICACLS """& strPathExcel & """ /grant everyone:M ",0,False

'====== how to write inside excel sheet you just create and save then close ======= 
Set objSheet = objExcel.ActiveWorkbook.Worksheets(1)

' write to  a cell.
objSheet.Cells(3, 2).Value = "Test"

' Add a row before row 5.
objSheet.Range("B5").EntireRow.Insert

' Label the new rows. Row 4 is unchanged, but what was row 5 is now row 6.
objSheet.Cells(4, 1).Value = "Row 4"
objSheet.Cells(5, 1).Value = "Row 5"
objSheet.Cells(6, 1).Value = "Row 6"

' Save the change  and quit.
objExcel.ActiveWorkbook.Save
objExcel.ActiveWorkbook.Close
objExcel.Application.Quit