In office lager dan 2000, werden alle documenten in 1 word programma geopend. In VBA5 hoefde je dan als je een bestand opende, dat al geopend was, niets te veranderen, want wanneer het zag dat als je het bestand al geopend had, ging hij verder.
Maar nu office 2000 en verder, steeds een nieuwe applicatie opent, kan dit dus niet meer. Het opent steeds hetzelfde bestand.
Hoe kan ik checken OF word al is geopend, en HOE switch ik vervolgens naar word toe?
Dit is wat ik nu heb, en wat werkt. Maar daar waar als al een geopend bestand nog een keer geopend wordt, dan opent hij hem dus NOG een keer, in plaats ervan naar toe te switchen.
Iemand een idee?
Maar nu office 2000 en verder, steeds een nieuwe applicatie opent, kan dit dus niet meer. Het opent steeds hetzelfde bestand.
Hoe kan ik checken OF word al is geopend, en HOE switch ik vervolgens naar word toe?
Dit is wat ik nu heb, en wat werkt. Maar daar waar als al een geopend bestand nog een keer geopend wordt, dan opent hij hem dus NOG een keer, in plaats ervan naar toe te switchen.
Iemand een idee?
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
| 'Het openen van word en het standaard dagverslag.
Sub Word_Dagverslag()
'openen van word
Set wordObj = CreateObject("Word.Application")
wordObj.Visible = True
Dim datum As Date
datum = Date
With wordObj
'Als het bestand bestaat (c:\...\ase+datum) en dus true (groter dan 0) is, dan wordt
'dat bestand geopend. Als het niet bestaat, zal er een foutmelding komen,
'echter de gebruiker ziet deze niet, want ON ERROR wordt er het standaard
'dagverslag geopend, en een nieuw bestand met juiste datum weggeschreven.
'dus de state van deze if zal OF true zijn, OF NIET bestaan (=0 zal ie niet worden, want het
'programma zal bij het niet vinden van een file, een fout produceren)
On Error GoTo nieuw_document_aanmaken
If FileSystem.FileLen("c:\Ase\Dagverslag\ase" & datum & ".doc") > 0 Then
.Documents.Open ("c:\Ase\Dagverslag\ase" & datum & ".doc")
Else
nieuw_document_aanmaken:
.Documents.Open ("C:\Ase\Dagverslag.dot")
.activedocument.SaveAs ("c:\Ase\Dagverslag\ase" & datum & ".doc")
End If
End With
End Sub |
Een dag geen vertraging, is een dag niet gereisd