kako pisati v zvezek brez odpiranja

Pomoč pri izdelavi makrov
Odgovori
DusanS
Prispevkov: 31
Pridružen: To Jul 26, 2005 11:16 am

kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a DusanS »

Pozdravljeni,

Pravo vprašanje je kako z makrom vpisati neko vrednost v drugi zvezek ne da bi uporabnik to videl. Gre za nekakšno beleženje uporabe delovnega zvezka , ki ga kot z read only dostopom uporablja več sodelavcev.

LP Dušan
cedra
Prispevkov: 264
Pridružen: Po Jul 25, 2005 11:11 pm
Kraj: Kamnik

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a cedra »

Imel sem to enkrat že narejeno, a ne, da se zapiše v Excelov zvezek, ampak v TXT datoteko.
Morda vam bo prišla koda prav:

Koda: Izberi vse

Private Sub Workbook_Open()

ChDir "C:\Cedra\"

Open ("Kontrola.txt") For Append As #1
    Print #1, "Datum", Date, "Ura "; Time
        Print #1, "Priimek"
        Print #1, "Itd" ''''itd, itd...
Print #1, "====================================" ''ločevalna črta
    Close #1

End Sub
Makro bo ob odprtju zvezka, ki ga želite kontrolirati, poiskal mapo "Cedra" na "C:\" direktoriju in v njej odprl Txt datoteko "Kontrola". Če je še ni, jo bo naredil, sicer pa dodal zapis. Vanjo bo vpisal kar boste pač zahtevali v kodi. Mislim, da je jasno kaj napiše moja koda :wink:
Prilagodite po svojih potrebah. Aja, uporabnik zvezka ne vidi nič kaj se dogaja oz. kaj je naredil makro. Vi pa vse vidite v datoteki "Kontrola.txt"!
Ni pa to za moje pojme ravno etično in bi bilo morda dobro uporabnike opozoriti, da se zapisuje uporaba zvezka. Saj veste, varstvo ne vem česa že...
lp,

cedra
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a admin »

Ob tem bi vas opozoril samo še na dejstvo, da če ima uporabnik izključene makre, pa vam tudi makro ne bo pomagal, saj se ne bo izvedel :wink:
lp,
Matjaž Prtenjak
Administrator
bluespeed
Prispevkov: 47
Pridružen: Po Nov 20, 2006 8:25 pm

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a bluespeed »

Ali pa mogoče enostavneje v začetku makroja dodate

Application.ScreenUpdating = False

V kodi pa naredite kar želite, saj uporabnik ne bo videl odpiranja tega drugega zvezka.

Moje mnenje... :wink:
DusanS
Prispevkov: 31
Pridružen: To Jul 26, 2005 11:16 am

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a DusanS »

Cedra, tvoja rešitev je ravno prava in sem jo kar uporabil. Kar se morale tiče.... naredil sem predlogo - delovni pripomoček, ki iz neke baze zajema podatke, jih sortira, preračuna in uporabniku pokaže rezultate. Tvoja koda mi omogoči vpogled kdo ga uporablja in ali je zato pri delu kaj bolj uspešen. Je pa res, da se lahko vsako orodje uporabi kot orožje...žal.

hvala za pomoč in lep pozdrav, Dušan
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a eBrane »

Pozdravljeni,

pri pisanju v txt datoteko sem naletel na težavo, ki je ne znam rešiti.

V datoteko bi želel zapisati narekovaje ("), npr. Version="1.0"

Ne vem pa, kako naj zapišem narekovaje.

Prosim za pomoč.

lp,Brane
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a eBrane »

Mi je uspelo - chr(34)

Vseeno hvala, saj ste super!
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a admin »

Da tudi to je rešitev, sicer pa imate dve lepši možnosti.
  1. V XML-u (sklepam, da želite pisati XML datoteko) lahko namesto dvojnih vsepovsod uporablajte enojne narekovaje, torej version='1.0'
  2. V VBA-ju lahko z dvema okepajema skupaj izpišete en oklepaj (v datoteko), torej:

    Koda: Izberi vse

      debug.print "tole v ""v narekovajih"", tole pa ne"
    
    vam izpiše sledeče

    Koda: Izberi vse

      tole v "v narekovajih", tole pa ne
    
lp,
Matjaž Prtenjak
Administrator
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a eBrane »

Najlepša hvala, želim pa pisati gpx datoteko, zato potrebujem dvojne narekovaje.
Zato se bom verjetno poslužil chr(34), saj mi debug.print nič ne izpiše ; (((


lp,
Brane
admin
Site Admin
Prispevkov: 3691
Pridružen: Sr Jul 20, 2005 10:06 pm

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a admin »

:) Debug print piše v Debug okno v VBA urejevalniku...

V vašem konkretnem primeru morate pač seveda upoabiti pisanje v datoteko:

Koda: Izberi vse

  Print #1, "tole v ""v narekovajih"", tole pa ne"
lp,
Matjaž Prtenjak
Administrator
eBrane
Prispevkov: 19
Pridružen: To Jun 01, 2010 12:02 am

Re: kako pisati v zvezek brez odpiranja

Odgovor Napisal/-a eBrane »

Dela pa tudi z 2 x dvojnim narekovajem,samo prej sem se zatipkal.
Hvala.
Odgovori