změna názvu složky Vyřešeno

Programy pro práci v kanceláři (Word, Excel, Access…=>Office)

Moderátor: Mods_senior

crgo77
Level 1
Level 1
Příspěvky: 68
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

změna názvu složky

Příspěvekod crgo77 » 05 dub 2014 22:30

Zdravím všechny přítomné,prosím o radu,protože už si s tím nevím rady.
Vytvářím databázi strojů u nás ve firmě,v databázi a bohužel už nevím jak naprogramovat to,aby když se mi zapíše hodnota do posledního řádku,aby se mi zkopírovala složka která má výchozí název nová na jméno které zapíšu do zápisu - inv.číslo. a zároveň se mi vytvořil hypertextový odkaz na tento adresář.
sešit přikládám jako přílohu.
Přílohy
seznam.xls
(456 KiB) Staženo 25 x

Reklama
Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: změna názvu složky

Příspěvekod Azuzula » 06 dub 2014 11:39

Ahoj, vítám Tě na PC-HELP.
Předně bych Tě chtěla upozornit:
1. na spoustu prázdných řádků, které zvětšují datový objem souboru (Označ všechny přebytečné řádky a z kontextového menu vyber "Odstranit", ulož sešit)
2. při zavření sešitu se nevrátí excel do původního zobrazení... což mě docela naštvalo (a určitě nejen mě ale každého kdo ten sešit stáhnul a otevřel)
3. z tvého popisu mi není moc jasné kam ten odkaz chceš, chtělo by to ukázku přímo v sešitu jak si to představuješ

Každopádně když nevíš jak napsat některé příkazy a jde to naklikat ručně, tak použij záznamník maker. Potom už stačí osekat přebytečný kód a je to ;)
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

crgo77
Level 1
Level 1
Příspěvky: 68
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

Re: změna názvu složky

Příspěvekod crgo77 » 06 dub 2014 14:37

Omlouvám se za ty prázdné řádky-vím o tom,že to zvětšuje markantně velikost souboru,ale prozatím je tam mám jenom proto,abych se v kódu orientoval,až to budu mít celé hotové,prázdné řádky odstraním.
Přiblížím problém s kterým si nevím rady. Při stisknutí tlačítka zápis nové položky se otevře nové okno do kterého zadávám informace o nové složce ( inventární číslo,název,popis,výrobní číslo a jiné věci ). Po kliknutí na OK se všechny hodnoty zapíšou do prvního prázdného řádku. A tady nastane můj problém se kterým si nevím rady - složku skopírovat dokážu,ale bohužel ji nedokážu přejmenovat na jméno,které se píše do prvního sloupce ( A ) , a zároveň přiřadit k této složce hypertextový odkaz.

výpis kódu,kde mám chybu:

Dim fso

Set fso = CreateObject("Scripting.FileSystemObject")

fso.CopyFolder "Z:\výchozí\*", "Z:\seznam stroju\", True

Dim NewFolderName As Long

Set objSoubor4 = fso.GetFolder("Z:\seznam stroju\nová")
objSoubor4.Name = NewFolderName

NewFolderName = TextBox1.Text()





Jen pro doplnění,omlouvám se,za to otevření v jiném formátu.postačí když se úvodní okno zavře křížkem a ne potvrzením.

Předem děkuju za rady a pomoc při řešení.Je to můj první program a je znát má nezkušenost

Uživatelský avatar
ITCrowd
Tvůrce článků
Guru Level 13.5
Guru Level 13.5
Příspěvky: 23605
Registrován: březen 10
Pohlaví: Muž
Stav:
Offline

Re: změna názvu složky

Příspěvekod ITCrowd » 06 dub 2014 15:35

Jestli jsem to dobře pochopil, tak zkus složku přejmenovat pomocí fso.MoveFolder.
Zkusili jste to vypnout a zapnout? Problémy řeším pouze v tématech. Do SZ mi proto píšete zbytečně.
Základní diagnostika WiFi Jak na diagnostiku sítě Router jako switch Proč je nesmysl chtít router s velkým dosahem Vybíráme router

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: změna názvu složky  Vyřešeno

Příspěvekod Azuzula » 06 dub 2014 16:04

Moje chyba, měla jsem napsat, že jde o řádky v listu 1-573 máš formátované a řádky od 574 do 10 a půl tisíce jsou ty které nejspíš nepotřebuješ. Těch 10tis řádků navíc ti zbytečně zvětšuje soubor o cca 300kB, není to moc vzhledem ke kapacitám úložišť, ale chce si to pohlídat, na více listech to pak jsou megabajty. Prázdné řádky v makru nevadí, aspoň je přehlednější.

Co se makra týká, přejmenování složky už tam v podstatě máš jen se špatným zápisem.

Kód: Vybrat vše

   Dim fso
   Set fso = CreateObject("Scripting.FileSystemObject")
   fso.CopyFolder "Z:\výchozí\*", "Z:\seznam stroju\", True
   Set objSoubor4 = fso.GetFolder("Z:\seznam stroju\nová")
   objSoubor4.Name = TextBox1.Text 'přejmenuje soubor

   ActiveSheet.Hyperlinks.Add Anchor:=Cells(DalsiRadek, 1), Address:= _
        "Z:\seznam stroju\" & TextBox1.Text, TextToDisplay:=TextBox1.Text 'zapíše hyperlink na složku
   
MsgBox "Byla vytvořena nová složka", 64, "hlášení"


PS: kód makra příště vkládej do tagů code
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

crgo77
Level 1
Level 1
Příspěvky: 68
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

Re: změna názvu složky

Příspěvekod crgo77 » 06 dub 2014 16:32

Mnohokrát děkuju za pomoc,funguje to přesně tak,jak jsem potřeboval.Lámal jsem si s tím hlavu už týden,ale všechny pokusy,které jsem zkoušel mi nešly.
Ještě jednou děkuju.

Jen nevím,v téhle aplikaci řeším ještě jeden problém,nevím ale,jestli mám zapožit nové téma.Zkusím to tady.
Jde o to,že při zápisu nové složky používám též zaškrtávácí políčka,která označují fakta,která jsou v založené složce,jde ale o to,že mi to nenapíše "ne" když nekliknu na dané políčko ( dvakrát ).

kód přikládám.

P.S.: Omlouvám se za ten špatně vložený kód,a děkuju za upozornění.


Kód: Vybrat vše

Private Sub CheckBox1_Click()
If CheckBox1.Value = False Then
DalsiRadek = _
         Application.WorksheetFunction.CountA(Range("A:A")) + 5
         Cells(DalsiRadek, 2) = "ne"
End If
If CheckBox1.Value = True Then
DalsiRadek = _
         Application.WorksheetFunction.CountA(Range("A:A")) + 5
         Cells(DalsiRadek, 2) = "ano"
End If
End Sub

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: změna názvu složky

Příspěvekod Azuzula » 06 dub 2014 17:08

Kontrolu zaškrtávacích políček, stejně jako zápis všech hodnot do listu, bych dala do makra po kliknutí na tlačítko OK. Odpadne tak mnoho zápisů do proměnné DalsiRadek a stačí řádky spočítat jen jednou na začátku makra. Sice se takhle nezapíšou hodnoty ihned při jejich zadání do formuláře, ale až po odeslání stiskem OK, většinou je to lepší. Teď když vypíšu nějaké údaje a pak si to rozmyslím a stisknu Storno, zapsané položky zůstanou v listu.

Takže za kontrolu vyplněnosti všech polí ve formuláři kterou už máš, dej kontrolu zaškrtávacích polí, za to zápis dat do listu a nakonec nech vytvoření složky s hyperlinkem.
Makra co máš pak dál jako je checkbox_click a textbox_change můžeš smazat (nebo prozatím dát jako kometář - tlačítko "Comment Block" na nástrojové liště nebo napsat apostrof před každý řádek s kódem)
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.

crgo77
Level 1
Level 1
Příspěvky: 68
Registrován: duben 14
Pohlaví: Muž
Stav:
Offline

Re: změna názvu složky

Příspěvekod crgo77 » 06 dub 2014 17:40

Původně jsem to tahle měl,ale bohužel jsem to musel tímto způsobem rozdělit protože mi to hlásilo přetečení zásobníku ( používáme starší notebooky na kterých jsou potřebné aplikace.Na nových nám aplikace nechodí).
Tím jak jsem to musel takhle rozdělit,tím se mi stalo,že se mi hodnoty ze zaškrtávacích políček nezapisují.Ničemu by to sice nevadilo-prostě bych kliknul dvakrát,ale pokud by to šlo nějak řešit,bylo by to skvělé.

Přesto děkuji za pomoc a rady.Jsou tady odborníci kteří dokážou poradit,za to děkuji.

Azuzula
Level 3
Level 3
Příspěvky: 452
Registrován: leden 12
Bydliště: Země, bohužel...
Pohlaví: Žena
Stav:
Offline
Kontakt:

Re: změna názvu složky

Příspěvekod Azuzula » 06 dub 2014 18:30

Teď záleží na tom, co způsobilo přetečení zásobníku, ani nevím kdy naposledy jsem na takový problém narazila.

Napadla mě možnost zapsat "ne" do všech políček při inicializaci formuláře.

Kód: Vybrat vše

Private Sub UserForm_Initialize()
DalsiRadek = Cells(Rows.Count, 1).End(xlUp).Row + 1
Cells(DalsiRadek, 2) = "ne"
Cells(DalsiRadek, 3) = "ne"
Cells(DalsiRadek, 4) = "ne"
Cells(DalsiRadek, 5) = "ne"
Cells(DalsiRadek, 6) = "ne"
Cells(DalsiRadek, 7) = "ne"
End Sub


Taky by mohlo pomoci použít globální proměnnou úplně na první řádek modulu (před první makro)

Kód: Vybrat vše

Public DalsiRadek As Long

a ve všech makrech pak vymazat zjišťování řádku včetně deklarace proměnné DalsiRadek. Proměnná se uloží už při inicializaci formuláře.

Nakonec by asi bylo vhod při stisku tlačítka Storno vymazat celý řádek kvůli přehlednosti v listu seznamu.

Kód: Vybrat vše

Private Sub CommandButton2_Click()
Range("A" & DalsiRadek & ":L" & DalsiRadek).ClearContents
Unload zápis
End Sub
Pokud je to vše.
Vše co znám z VBA jsem se naučila tady na fóru, na Office.lasakovi, david-zbiral.cz a hlavně hledáním na googlu.
SZ není poradna, na pokládání dotazů je tu fórum. Děkuji.


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • Jednoduché zaheslování složky v PC
    od Zabral68 » 25 pro 2023 08:58 » v Vše ostatní (bezp)
    3
    2756
    od Zabral68 Zobrazit poslední příspěvek
    25 pro 2023 09:49
  • Outlook - složky v AJ, nelze vymazat Příloha(y)
    od huklorcz » 15 bře 2024 22:20 » v Kancelářské balíky
    5
    961
    od mmmartin Zobrazit poslední příspěvek
    15 bře 2024 23:52
  • Outlook - složky v AJ, nelze vymazat Příloha(y)
    od janakailana » 03 bře 2024 08:21 » v Kancelářské balíky
    6
    899
    od janakailana Zobrazit poslední příspěvek
    03 bře 2024 11:16
  • Skript na vytvoreni zastupce slozky
    od ajr » 01 úno 2024 21:21 » v Windows 11, 10, 8...
    1
    701
    od ITCrowd Zobrazit poslední příspěvek
    02 úno 2024 08:36
  • změna CPU?
    od sign0r » 07 říj 2023 21:32 » v Rady s výběrem hw a sestavením PC
    3
    1551
    od Alferi Zobrazit poslední příspěvek
    07 říj 2023 22:08

Zpět na “Kancelářské balíky”

Kdo je online

Uživatelé prohlížející si toto fórum: Žádní registrovaní uživatelé a 8 hostů