Eerst even een situatie schets: het is de bedoeling dat de inhoud/opmaak van een cel gekopieerd wordt van 1 workbook/sheet naar een andere. Als de doel file reeds open is moet deze alleen maar aangepast worden, is de file toe dan moet deze eerst geopend worden natuurlijk en achteraf weer gesloten.
Het kopieren en plaatsen van de gevraagde cel lukt goed. Als er een file moet geopend worden dan gaat het echter mis: dit gebeurt gewoonweg niet.
Eerst kijk ik na of de file al open staat:
Om vervolgens de gepaste actie te starten:
Zoals je ziet heb ik 2 verschillende manieren (syntactisch gezien) gebruikt om de doel file te openen, geen enkel van de twee wordt ook effectief uitgevoerd blijkbaar. (Ik heb de bovenstaande boolean check uit het 1e code blok ook eens toegepast als controle en deze was altijd negatief). Verder heb ik ook al geprobeerd om te werken via het Excel.Application object, maar ook deze syntax wordt genegeerd.
Wat doe ik hier mis?
Het kopieren en plaatsen van de gevraagde cel lukt goed. Als er een file moet geopend worden dan gaat het echter mis: dit gebeurt gewoonweg niet.
Eerst kijk ik na of de file al open staat:
code:
1
2
3
4
5
6
7
| 'Nakijken of het doel bestand al open staat
On Error Resume Next
Set wkb = Workbooks("t2.xls")
If Err = 0 And Not wkb Is Nothing Then
WorkbookExists = True
Else: WorkbookExists = False
End If |
Om vervolgens de gepaste actie te starten:
code:
1
2
3
4
5
6
7
8
| If WorkbookExists Then
' verwerkingscode even weggelaten
Else: 'werkboek openen, aanpassen en sluiten
'Workbooks.Open ("t2.xls") <-- werkt niet
Workbooks.Open Filename:="t2.xls", ReadOnly:=False '<-- werkt ook niet
' doe verwerking
Workbooks("t2.xls").Close True 'werkblad sluiten en veranderingen opslaan
End If |
Zoals je ziet heb ik 2 verschillende manieren (syntactisch gezien) gebruikt om de doel file te openen, geen enkel van de twee wordt ook effectief uitgevoerd blijkbaar. (Ik heb de bovenstaande boolean check uit het 1e code blok ook eens toegepast als controle en deze was altijd negatief). Verder heb ik ook al geprobeerd om te werken via het Excel.Application object, maar ook deze syntax wordt genegeerd.
Wat doe ik hier mis?
[ Voor 9% gewijzigd door Kapoen op 11-09-2003 12:06 ]
Clowns to the left of me, Jokers to the right