使用VBA /宏打开工作簿是否只读?

时间:2012-09-19 16:54:24

标签: excel vba excel-vba

我希望我的代码打开一个工作簿(总是相同的),检测第一个空闲行,只写入该行中的两个单元格,然后保存/关闭工作簿。这似乎是一个简单的问题,但宏似乎是打开文件的副本,然后锁定它进行编辑。

您可以在我的开放代码中看到任何错误吗?我知道文件打开并且行搜索有效,但是它1.从不写入单元格,并且2.锁定文件。

Function WriteToMaster(Num, Path) As Boolean

'Declare variables
Dim xlApp As Excel.Application
Dim wb As Workbook
Dim ws As Worksheet
Dim infoLoc As Long

Set xlApp = New Excel.Application

'Specifies where the Master Move Key is stored
Set wb = xlApp.Workbooks.Open("DOC LOCATION")
Set ws = wb.Worksheets("Sheet1")

'Loop through cells, looking for an empty one, and set that to the loan number
infoLoc = firstBlankRow(ws)
MsgBox "First blank row is " & infoLoc & ". Num is " & Num

ws.Cells(infoLoc, 1).Value = Num
ws.Cells(infoLoc, 2).Value = Path


'Save, close, and quit
wb.Save
wb.Close
xlApp.Quit

'Resets the variables
Set ws = Nothing
Set wb = Nothing
Set xlApp = Nothing

'pieces of function from http://p2p.wrox.com/vb-how/30-read-write-excel-file-using-vb6.html
End Function

再次感谢stackoverflow< 3

1 个答案:

答案 0 :(得分:3)

您是否需要打开一个新的Excel应用程序才能打开工作簿?

你不能只做这样的事情:

Sub Macro1()

Dim wkb As Workbook
Workbooks.Open Filename:="\User Documents$\bob\My Documents\workbook_open_example.xlsx"
Set wkb = Workbooks("workbook_open_example.xlsx")

End Sub