Solved

outlook vba opens workbook as read only

Posted on 2010-11-17
5
554 Views
Last Modified: 2012-05-10
I am trying to open an Excel workbook from outlook. However for some reason the book opens as read only. I need to be able to write to the file:-

 
Option Explicit



'outlook objects



Public oNameSpace As Outlook.NameSpace

Public oInboxItem As Variant

Public oFolder As Outlook.MAPIFolder

Public oMsg As Object





'excel objects



Public objexcel As Excel.Application

Public objWB As Excel.Workbook

Public objFSO As Scripting.FileSystemObject

Public excel_filename As String







Sub Extract_Reports()

'extracts reports for HomeExpert





Set objFSO = CreateObject("Scripting.FileSystemObject")



'opens the excel workbook



Call open_workbook



Call extract_outlook_info



Call close_workbook



End Sub





Public Sub open_workbook()

'opens the Excel workbook

Dim excel_path  As String



excel_path = "C:\01 simplyspreadsheets\63 home expert\"

excel_filename = "master file.xlsx"



MsgBox excel_path & " " & excel_filename





Set objexcel = CreateObject("excel.application")

Set objWB = objexcel.Workbooks.Open(excel_path & excel_filename, ReadOnly:=False)



objexcel.Visible = True

objWB.Activate





End Sub

Open in new window

0
Comment
Question by:Kaps_68
  • 3
  • 2
5 Comments
 
LVL 13

Expert Comment

by:gbanik
ID: 34157551
None of your code can do that (force an excel file to open read-only). Are u sure the file isnt read-only before u tried to open it thru the above code? Thats the only way it could have.
0
 
LVL 13

Expert Comment

by:gbanik
ID: 34157589
Try this code... this would change the file attributes to normal before opening it.

.....
excel_path = "C:\01 simplyspreadsheets\63 home expert\"
excel_filename = "master file.xlsx"

SetAttr excel_path & " " & excel_filename, vbNormal
MsgBox excel_path & " " & excel_filename

Set objexcel = CreateObject("excel.application")
Set objWB = objexcel.Workbooks.Open(excel_path & excel_filename, ReadOnly:=False)
.....
0
 

Author Comment

by:Kaps_68
ID: 34158101
thanks - that gives a file not found error. However the file is there. I have checked the properties of the file and  it is not read only.
0
 
LVL 13

Accepted Solution

by:
gbanik earned 250 total points
ID: 34158246
Sorry how could I miss it? There is a space in code...
use the following
SetAttr excel_path & excel_filename, vbNormal
0
 

Author Closing Comment

by:Kaps_68
ID: 34158320
thanks !!
0

Featured Post

Control application downtime with dependency maps

Visualize the interdependencies between application components better with Applications Manager's automated application discovery and dependency mapping feature. Resolve performance issues faster by quickly isolating problematic components.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Suggested Solutions

What does UTC stand for?  “Coordinated Universal Time” – Think of this as the true time on Planet Earth that never changes with the exception of minor leap seconds here and there to account for the changes in the planet's rotation.   What does th…
Technology opened people to different means of presenting information, but PowerPoint remains to be above competition. Know why PPT still works today.
Get people started with the process of using Access VBA to control Outlook using automation, Microsoft Access can control other applications. An example is the ability to programmatically talk to Microsoft Outlook. Using automation, an Access applic…
The viewer will learn how to simulate a series of sales calls dependent on a single skill level and learn how to simulate a series of sales calls dependent on two skill levels. Simulating Independent Sales Calls: Enter .75 into cell C2 – “skill leve…

932 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

8 Experts available now in Live!

Get 1:1 Help Now