Simplifying my previous question ...

G

Guest

I suspect that (since I didn't get any response on my previous request for
assistance) I may need to approach this in stages ...

Assuming that Information Rights Management (IRM) won't give me the detailed
permissions I need, basically, here's what I need:

1. A Macro that will unprotect a series of Workbooks (approximately 200 of
them) so that the Auto Update function in Linked Data can update without
user intervention.

2. I copied this Macro from a previous post -- how can I modify the
following code to achieve what I need from it:

Can I use something like this?
I assume that I'll need something like this to unprotect the affected
worksheets:
ActiveSheet.Unprotect Password:="" '<===I assume that I'll enter
my worksheet password between the ""

Private Sub Workbook_Open()
Dim vLinkSources
Dim iLinkSource As Integer
vLinkSources = ThisWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(vLinkSources) Then
For iLinkSource = LBound(vLinkSources) To UBound(vLinkSources)
ThisWorkbook.UpdateLink vLinkSources(iLinkSource), xlExcelLinks
Next
End If
End Sub

I'll need to re-protect the affected worksheets upon closing:
ActiveSheet.Protect Password:="" '<===I assume that I'll enter my
worksheet password between the ""
End Sub

Any help in setting me straight on this would be greately appreciated --
thanks in advance.
 
D

David McRitchie

Sure record a macro when you unprotect the sheet, do some things,
and then protect the sheet again. You will be able to extract
at the very least the code for unprotecting (which you already have)
and the code for protecting again. (yes you include the password in the
code) -- An alternative is to protect the sheet without the password.
Sometimes the password is entered solely to prevent others from accidentally
supplying a password in reprotecting the sheet.
 
G

Guest

Thanks David -- I'm ALMOST there ...

Do you see anything that I may be missing? Here's the MOST important thing
I need this code to do (assuming there are no further modifications needed)
....


This code (Macro) needs to perform this same task on approximately 200
different Workbooks (all residing in the same Network Directory), but ONLY
when a Command Button is pressed. I'm assuming that I'll need to create a
Form (in ACCESS perhaps) and call this Macro -- correct? How would I do
this, and how would I get this Macro to perform this Link Update on all 200
or so Workbooks?



Private Sub Workbook_Open()
Dim vLinkSources
Dim iLinkSource As Integer
Dim AnySheet As Worksheet
For Each AnySheet In ActiveWorkbook.Worksheets
ActiveWorkbook.Worksheets(AnySheet.Name).Unprotect
Password:="mypassword"
Next
vLinkSources = ActiveWorkbook.LinkSources(xlExcelLinks)
If Not IsEmpty(vLinkSources) Then
For iLinkSource = LBound(vLinkSources) To
UBound(vLinkSources)
ActiveWorkbook.UpdateLink vLinkSources(iLinkSource), xlExcelLinks
Next
End If
For Each AnySheet In ActiveWorkbook.Worksheets
ActiveWorkbook.Worksheets(AnySheet.Name).Protect
Password:="mypassword"
Next
End Sub

======================================================
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top