Application.DisplayAlerts = False

  • Thread starter Thread starter Jim May
  • Start date Start date
J

Jim May

In a Macro I have:
......
Application.ScreenUpdating = False
Application.DisplayAlerts = False
....
Set wb = Workbooks.Open(sPath & sName)
Do While sName <> ""

XXXXXXXXXXXXXXXXXX << Problem here

Loop
Application.ScreenUpdating = True
Application.DisplayAlerts = True


As the Second Workbook is Opened I get
The Standard Message Warning/Alert
Dealing with Updating Links;
Update; Don't Update;

I thought my Original DisplayAlerts = False
Took care of this?

Can someone assist?

Jim
 
Thanks Norman;
Is this one of those situations where this affects All Workbooks
Until you return to Tools Options, Edit and Check it back on? Also
Unchecking this does it mean that all links are updated?
Tks,
Jim
 
Hi Jim,
Is this one of those situations where this affects All Workbooks
Until you return to Tools Options, Edit and Check it back on?

As you correctly surmise, this is an application setting; if you are
distributing the workbook, note that your users would similarly need to
adjust the setting.
Unchecking this does it mean that all links are updated?

Yes.
 
As the Second Workbook is Opened I get
The Standard Message Warning/Alert
Dealing with Updating Links;
Update; Don't Update;

I thought my Original DisplayAlerts = False
Took care of this?

Try Application.AskToUpdateLinks = False

Don <www.donwiss.com> (e-mail link at home page bottom).
 
Hi Jim,

As Don indicates in an adjacent post, you can change the application setting
programmatically.

If you wish ajust the setting for cetain files only, you can use the
UpdateLinks argument to the Worbook's open method. This argument takes four
values:

0 Doesn't update any references
1 Updates external references but not remote references
2 Updates remote references but not external references
3 Updates both remote and external references

See VBA help on the Open method for more information.
 
Just a thought:
If you wish ajust the setting for cetain files only, you can use the

The end result will be the same, but to me it would be better to say not
that it is changing the setting for that workbook but it is specifing the
action to take for that single opening of the workbook.

Set wb = Workbooks.Open(sPath & sName, Updatelinks:=0)
 
Hi Tom,
The end result will be the same, but to me it would be better to say not
that it is changing the setting for that workbook but it is specifing the
action to take for that single opening of the workbook.

I agree; there is an unfortunate, and unintended ambiguity, in my phrase!
Certainly, my intention was to indicate a meaning synonymous with your
articulation.

Thank you for highlighting a possible source of misunderstanding.
 
Much Appreciated, Guys
Jim

Hi Tom,




I agree; there is an unfortunate, and unintended ambiguity, in my phrase!
Certainly, my intention was to indicate a meaning synonymous with your
articulation.

Thank you for highlighting a possible source of misunderstanding.
 
I have several report templates (spreadsheets) in one workbook. A use
can select one (or more) reports in vb screen (application is writte
in vb 6), data from a database are processed and send to the Exce
template - then unnecessary worksheets are deleted. It works perfectl
at the first run. If I repeat the procedure
Application.DisplayAlerts=False does not work, in other words excessiv
worksheets are not being deleted. Magic!
This is the procedure:
Public Sub RemoveExtraSheets(ByRef s As String)

Dim eItem As Excel.Worksheet

For Each eItem In xlAppl.ActiveWorkbook.Worksheets

Application.DisplayAlerts = False

If InStr(eItem.Name, s) = 0 Then
eItem.Delete
End If
Next
Application.DisplayAlerts = True

End Su
 
I would imagine the
InStr(eItem.Name, s)=0
is evaluating to False

If you run it on the same workbook, the first time all the WS are deleted,
so there are no more that qualify the second time.

NickHK
 
Back
Top