Odpiranje delovnega zvezka

Pomoč pri izdelavi makrov
Odgovori
Buba
Prispevkov: 85
Pridružen: Sr Mar 12, 2008 11:49 am
Kraj: Maribor

Odpiranje delovnega zvezka

Odgovor Napisal/-a Buba »

Pozdravljeni!

Napisal sem makro, ki odpre delovni zvezek.

Koda: Izberi vse

Set wb = Workbooks.Open(mapa & "\" & Porocilo)
Mapa in porocilo sta spremenljivki.če je izbrana datoteka zaprta.
Če je izbrana datotela že odprta in spremembe v njej niso shranjene te Excel prijazno opozori, da bodo spremembe v datoteki izgubljene v slučaju ponovnega odpiranja.
Če izbereš odgovor ne (ne želiš ponovnega odpiranja) pa se makro ustavi z napako. Kako bi ugotovil, če je datoteka že odprta, če so vse spremembe shranjene, da bi se lahko izognil napaki?

Lep dan!
Buba
Buba
admin
Site Admin
Prispevkov: 3687
Pridružen: Sr Jul 20, 2005 10:06 pm

Odgovor Napisal/-a admin »

Spodaj imate funkcijo, ki vam bo odprla datoteko, če slednja še ni odprta. V kolikor pa je že odprta, pa jo bo izbrala.

Koda: Izberi vse

'
'   www.matjazev.net
'    november 2009
'

Function DobiImeDatoteke(celotnoIme As String)
  Dim tmp As String
  Dim cnt As Integer
  
  Do Until Left(tmp, 1) = "\"
    cnt = cnt + 1
    tmp = Right(celotnoIme, cnt)
    If cnt = Len(celotnoIme) Then Exit Do
  Loop
  DobiImeDatoteke = Right(tmp, Len(tmp) - 1)
End Function

Sub OdpriDatoteko(datoteka As String)
  Dim imeDatoteke As String
  
  imeDatoteke = DobiImeDatoteke(datoteka)
  
  On Error Resume Next
  Workbooks(imeDatoteke).Activate
   
  If Err = 0 Then Exit Sub
   
  Err.Clear
  Workbooks.Open datoteka
End Sub
V makru torej samo vpišite, nekaj v stilu:

Koda: Izberi vse

  OdpriDatoteko("c:\delo\podatki.xls")
lp,
Matjaž Prtenjak
Administrator
Buba
Prispevkov: 85
Pridružen: Sr Mar 12, 2008 11:49 am
Kraj: Maribor

Odgovor Napisal/-a Buba »

Hvala! :wink: :)
Buba
Odgovori