Add 10 minutes to a Date

R

RyanH

I have a procedure that imports data from another workbook. I want ensure
that the source workbook has been updated in the last 10 minutes before I do
the import. How can I do this? Here is an example:

' make sure macola file has been updated in the last 10 mins
If ThisWorkbook.BuiltinDocumentProperties("Last Save Time") + 10 minutes <
Date Then
Call UpdateStatusOnOpen(ThisWorkbook)
End If
 
T

Thomas [PBD]

RyanH,

Try this function:

ThisWorkbook.BuiltinDocumentProperties("Last Save Time") + .00695
 
J

Joel

Ther are two solutions

1) ThisWorkbook.BuiltinDocumentProperties("Last Save Time") + 1/(24 * 6)
2) ThisWorkbook.BuiltinDocumentProperties("Last Save Time") + TimeSerial(0,
10, 0)
 
R

RyanH

I am getting an error: Automation Error. Can the BuiltinDocumentProperties
only be used with ThisWorkbook? I can't get it to work with the workbook
wbkDataSource.

If wbkDataSource.BuiltinDocumentProperties("Last Save Time") + TimeSerial(0,
10, 0) < Date Then
'do something
End If

Any ideas?
 
J

Joel

The error also occurs with tthisWorkbook. This is a bug with collection
method. Not all collections can be address directly by name. Here is a work
around

Savetime = ""
For i = 1 To ThisWorkbook.BuiltinDocumentProperties.Count
PName = ThisWorkbook.BuiltinDocumentProperties.Item(i).Name
If PName = "Last save time" Then
Savetime = ThisWorkbook.BuiltinDocumentProperties.Item(i).Value
Exit For
End If
Next i


For i = 1 To wbkDataSource.BuiltinDocumentProperties.Count
PName = wbkDataSource.BuiltinDocumentProperties.Item(i).Name
If PName = "Last save time" Then
Savetime = wbkDataSource.BuiltinDocumentProperties.Item(i).Value
Exit For
End If
Next i
 
R

RyanH

I don't get an error when I use this line:

SaveTime = ThisWorkbook.BuiltinDocumentProperties.Item(12).Value

But I do get the same error with the "work around code" you gave me and by
using ActiveWorkbook. Error description: "Automation Error"

SaveTime = wbkDataSource.BuiltinDocumentProperties.Item(12).Value
SaveTime = ActiveWorkbook.BuiltinDocumentProperties.Item(12).Value

Any idea why?
 
J

Joel

There is no difference between our two methods i the variable i is a number
between 1 and the maximum count.

If the strings are matching maybe that is the reason try replacing this
statement

If UCase(PName) = UCase("Last save time") Then

The function will not work with your original string because of the
capitalization.
 
R

RyanH

Hey Joel,

I got this code from Per Jessen. It works great. I don't understand why
Microsoft would only allow you to use ThisWorkbook and not ActiveWorkbook or
an Object Variable.

If FileDateTime(wbkDataSource.FullName) + TimeSerial(0, 10, 0) < Date
Then
'do something
End If
 

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