..|| Blog || Produkti/Storitve || MExcel || MDodatki || 300 nasvetov ||..

Odpiranje delovnega zvezka

Pomoč pri izdelavi makrov

Odpiranje delovnega zvezka

OdgovorNapisal/-a Buba » Sr nov 25, 2009 11:02 am

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
Buba
 
Prispevkov: 83
Pridružen: Sr mar 12, 2008 11:49 am
Kraj: Maribor



Matjazev.NET
 

OdgovorNapisal/-a admin » Sr nov 25, 2009 11:16 am

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
admin
Site Admin
 
Prispevkov: 3534
Pridružen: Sr jul 20, 2005 10:06 pm

OdgovorNapisal/-a Buba » Sr nov 25, 2009 11:34 am

Hvala! :wink: :)
Buba
Buba
 
Prispevkov: 83
Pridružen: Sr mar 12, 2008 11:49 am
Kraj: Maribor


Vrni se na VBA

Kdo je prisoten

Po forumu brska: 0 registriranih uporabnikov in 1 gost

cron