open van excel-map middels VBA

Status
Niet open voor verdere reacties.

gast0667

Gebruiker
Lid geworden
20 dec 2007
Berichten
136
Waarschijnlijk is dit al eens een keer door iemand gevraagd maar kon in iedergeval niets vinden.

Ik wil graag dat VBA een excel-bestand "Test" opent. Dit kan bijvoorbeeld met een code zoals:
Code:
Workbook.open Filename:="Test"

Echter ik wil graag dat als dit bestand al is geopend hij deze dus niet opnieuw opent maar selecteerd.

Wat is de code hiervan ?
 
probeer eens:

Code:
Sub filecheck()
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(bestand) Then
    Windows("test.xls").Activate
Else
    Workbook.Open Filename:="Test"
End If

End Sub

(bestand) moet natuurlijk ("test.xls") zijn
Joop
 
Laatst bewerkt door een moderator:
probeer eens:

Sub filecheck()
Set fso = CreateObject("Scripting.FileSystemObject")
If fso.FileExists(bestand) Then
Windows("test.xls").Activate
Else
Workbook.Open Filename:="Test"
End If

End Sub

(bestand) moet natuurlijk ("test.xls") zijn
Joop


Krijg een fout melding als het bestand nog niet geopend is.
Bestandnaam is trouwens: "Test VB.xls"
Werkt het niet met een spatie ??
 
Zoiets

Code:
Sub w()

    Dim wb As Workbook
    
    On Error Resume Next
    Set wb = Workbook("Test.xls")
    On Error GoTo 0
    
    If wb Is Nothing Then
        
        Set wb = Workbooks.Open("padvanhetbestand\Test")
        
    Else
    
        wb.Activate
        
    End If

End Sub

ongeteste code

Wigi
 
Sorry, je hebt volkomen gelijk. Ik ging van de verkeerde veronderstelling uit dat eerst getest moest worden of het bestand bestond. In het volgende stukje programma heb ik mijn pad naar Test VB.xls ingevuld. Dat zal voor jou anders zijn:

Code:
Sub filecheck()
Bestand = "d:\mijn documenten\excel\Test VB.xls"
   On Error GoTo filecheck_Error
Workbooks("Test VB.xls").Activate
   Exit Sub
filecheck_Error:
Workbooks.Open Filename:=Bestand
End Sub

Joop
 
Laatst bewerkt door een moderator:
Ik was te laat. Wigi heeft als altijd het correcte antwoord
Joop
 
Graag gedaan.

gast0667, werkt het voor jou?
 
Laatst bewerkt door een moderator:
Ik zou graag eens voort borduren op deze vraag. Stel nou dat je een map X gebruikt voor gegevens. Nu zou ik graag willen dat de locatie van map X gespecificeerd kan worden als deze niet geopend is. In mijn script krijg ik nu een buiten bereik melding als de map niet open is.
Als de map open is kan het script stoppen. Als de map gespecificeerd is dan onthouden. Als onthouden map niet meer op de locatie is dan map specificeren.
Moeilijk, moeilijk, moeilijk....ik heb echt geen idee....
 
Of simpel

Code:
Sub geopend()
  On Error Resume next
  Workbooks("Test VB.xls").activate
  if err.number>0 then workbooks.add "d:\mijn documenten\excel\Test VB.xls"
   On Error GoTo 0
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan