Application.DisplayAlerts = False

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
 
J

Jim May

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
 
N

Norman Jones

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.
 
D

Don Wiss

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).
 
N

Norman Jones

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.
 
T

Tom Ogilvy

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)
 
N

Norman Jones

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.
 
J

Jim May

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.
 
K

kotelok

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
 
N

NickHK

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
 

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