View Single Post
  #4   Report Post  
Posted to microsoft.public.excel.programming
NickHK NickHK is offline
external usenet poster
 
Posts: 4,391
Default VBA open xls as read-only

hommer,
As long as you are actually passing False in you code, the file system may
have set the file to Read Only, then it is not within the control of Excel.
For the file, right-click and check the Properties. Is the Read Only
Attribute set ?

NickHK

"hommer" wrote in message
...
I am sorry, I pasted the code from my second try. First time, I did pass

in
false, and it did not work.

"Jim Rech" wrote:

m_objExcel.OpenWorkbook "V:\my Report.xls", True


Sure looks to me that you're passing True as the Readonly argument to
Function OpenWorkbook.

--
Jim
"hommer" wrote in message
...
|I open an xls and insert value to it from VBA. However, the xls is

opened
as
| read-only, even though the code asked for none-read-only access. Btw,

all
the
| samples I found are for opening a new xls then insert data, and I need

to
| open an existing xls.
|
| Your help is appreciated!
|
| Here is my calling code block: (m_objExcel is declared as New cExcel)
| Private Sub Command1_Click()
| m_objExcel.StartExcel True
| m_objExcel.OpenWorkbook "V:\my Report.xls", True
| 'I can see the xls after last line is run, but the title says

read-only
| 'the next line will insert value, but later it wouldn't save.
| m_objExcel.InsertValue "L2", "20"
| m_objExcel.CloseExcel
|
| End Sub
| Below are sub/functions from sample code in class module.
| Public Sub StartExcel(fVisible As Boolean)
| ' Comments : Starts an instance of Excel
| ' Parameters: fVisible - True to make Excel visible
| .
| m_objExcel.Visible = fVisible
| .
| End Sub
|
| Public Function OpenWorkbook(strFileName As String, fReadOnly As

Boolean,
_
| Optional varPassword As Variant) As Excel.Worksheet
| ' Comments : Opens the named file and associates it with the class
| ' Parameters: strFileName - full path and name of the file to open
| ' fReadOnly - True to open readonly
|
| If Not IsMissing(varPassword) Then .
| Else
| Set m_objWorkbook = m_objExcel.Workbooks.Open(strFileName, ,

fReadOnly)
| End If
| .
| End Function
|
|