Reply
 
LinkBack Thread Tools Search this Thread Display Modes
  #1   Report Post  
Posted to microsoft.public.excel.misc
 
Posts: n/a
Default Simplifying my previous Request for Assistance

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.


  #2   Report Post  
Posted to microsoft.public.excel.misc
external usenet poster
 
Posts: 2,203
Default Simplifying my previous Request for Assistance

Yes, the .Unprotect and .Protect code you have has the proper syntax. The
password will go between the double-quotes.

Now, unless these are single-page workbooks, or you know with absolute
certainty that they will open to the proper sheet, you need to be prepared to
handle that. If you know the sheet's name, you could add something like

Worksheets("NameOfSheetINeed").Activate
in the _Open event.

If you don't know the sheet's name, then you can set up to just unprotect
them all:

Dim AnySheet as Worksheet
For Each AnySheet in ActiveWorkbook.Worksheets
ActiveWorkbook.Worksheets(AnySheet.Name).Unprotect Password:="mypassword"
Next
and a similar loop to Protect them again later. I kind of doubt that
"mypassword" will be the right one, but ...

Unprotect before you start trying to update the links (above the If Not
IsEmpty() statement) then put them back into protected state below the End If
statement.

OH - when you open a workbook, it becomes the active workbook, so in the
code use ActiveWorkbook. rather than ThisWorkbook. ThisWorkbook refers to
the workbook that the code physically resides in.

" wrote:

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.



  #3   Report Post  
Posted to microsoft.public.excel.misc
 
Posts: n/a
Default Simplifying my previous Request for Assistance

("JLatham") ~~ Thank you for your guidance and suggestions -- here's the
code that I have now:

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

Do you see anything that I may be missing? Now, 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?

"JLatham" wrote in message
...
Yes, the .Unprotect and .Protect code you have has the proper syntax. The
password will go between the double-quotes.

Now, unless these are single-page workbooks, or you know with absolute
certainty that they will open to the proper sheet, you need to be prepared
to
handle that. If you know the sheet's name, you could add something like

Worksheets("NameOfSheetINeed").Activate
in the _Open event.

If you don't know the sheet's name, then you can set up to just unprotect
them all:

Dim AnySheet as Worksheet
For Each AnySheet in ActiveWorkbook.Worksheets
ActiveWorkbook.Worksheets(AnySheet.Name).Unprotect
Password:="mypassword"
Next
and a similar loop to Protect them again later. I kind of doubt that
"mypassword" will be the right one, but ...

Unprotect before you start trying to update the links (above the If Not
IsEmpty() statement) then put them back into protected state below the End
If
statement.

OH - when you open a workbook, it becomes the active workbook, so in the
code use ActiveWorkbook. rather than ThisWorkbook. ThisWorkbook refers to
the workbook that the code physically resides in.

" wrote:

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.





Reply
Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes

Posting Rules

Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On


Similar Threads
Thread Thread Starter Forum Replies Last Post
to search and display the top 50s (from the previous 14 sheets) in a new sheet joyjoy329 Excel Worksheet Functions 2 July 4th 06 03:33 PM
Sum of previous offset number of cells not to exceed certain value SimonK Excel Worksheet Functions 0 February 16th 06 02:41 PM
Working days left in the month compared to previous months qwopzxnm Excel Worksheet Functions 8 October 24th 05 08:00 PM
Match Last Occurrence of two numbers and Count to Previous Occurence Sam via OfficeKB.com Excel Worksheet Functions 33 April 4th 05 02:17 PM
How to Create an Excel Macro to send a meeting request. DM HD Excel Discussion (Misc queries) 2 February 28th 05 02:39 PM


All times are GMT +1. The time now is 10:30 PM.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Copyright ©2004-2024 ExcelBanter.
The comments are property of their posters.
 

About Us

"It's about Microsoft Excel"