excel 2007 makro pro uložení do souboru XML

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

Moderátor: Mods_senior

sparkler.
nováček
Příspěvky: 4
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

excel 2007 makro pro uložení do souboru XML

Příspěvekod sparkler. » 23 zář 2011 20:05

Zdravíčko!
Prosím potřeboval bych poradit s uložením dat do souboru xml v excel 2007. Soubor mám připraven, mapování dat také. Uložit samozřejmě lze přes menu XML a tlačítko export... ale chtěl bych soubor uložit na disk a ještě navíc dle jména souboru v bunce na listu nějakým tlačítkem. Nevím zda je to vůbec možné přes makro (tlačítko). Dík za rady, Pavel

Reklama
d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: excel 2007 makro pro uložení do souboru XML

Příspěvekod d1amond » 23 zář 2011 22:12

Vítej na PC-HELP
Zadání není nijak podrobné, takže jsem to vzal cestou nejmenšího odporu

Kód: Vybrat vše

Sub SaveAsXML()
Dim fileName As String
Dim path As String

fileName = ActiveSheet.Name
path = "C:\" & fileName & ".xml"

Const xml = 46

ActiveSheet.SaveAs path, xml

End Sub

Nevím jak zdatný jsi ve VBA editoru. V pracovním sešitu (uloženém jako .xlsm - podpora maker) otevři VBA editor Alt + F11, menu Vložit > Modul a do nového Mudul1 zkopíruj uvedený kód. Zavři editor.
Na příslušném listu si vytvoř tlačítko a přiřaď mu toto makro "SaveAsXML".
! Bez otázek se úkládá aktuálně otevřený sešit pod názvem aktivního listu s tlačítkem pro Export ! Po stisku tlačítka již pracuješ s xml souborem. Cesta je nastavena na C:\
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

sparkler.
nováček
Příspěvky: 4
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Re: excel 2007 makro pro uložení do souboru XML

Příspěvekod sparkler. » 26 zář 2011 06:58

Zdravíčko! To není tak uplně ono, ale já to moc nevysvětlil co potřebuji. Takže posílám soubory - tabulku a výsledek xml.
Vlastně z vyplněných buněk hodnotama tyto hodnoty vložit do xml souboru (dle "šablony" xml). A nejlépe pod názvem z bunky (q5).
Pokud to udělám příkazem, tak zadám jméno souboru a je to v pořádku. Ale makro mi nefunguje.. když už existuje soubor pod stejným názvem neuloží se a makro se zastaví... nevím jak v tomto případě dostat jméno z buňky do názvu souboru. Dík za rady, Pavel
XML_exp.xlsx
(16.99 KiB) Staženo 60 x


--- Doplnění předchozího příspěvku (26 Zář 2011 07:06) ---

a ještě ten druhý soubor, xml nelze přidat, takže zip
TEST M.zip
(478 bajtů) Staženo 37 x

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: excel 2007 makro pro uložení do souboru XML

Příspěvekod d1amond » 26 zář 2011 17:08

Dobře. Otevřeš si tuto šablonu, vyplníš a následným stiskem tlačítka chceš uložit nový soubor jako čistý .xml, ne ten excelovský.
Název z buňky není problém. Akorát ta struktura, snad to nějaká knihovna zvládne.
Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?

sparkler.
nováček
Příspěvky: 4
Registrován: září 11
Pohlaví: Muž
Stav:
Offline

Re: excel 2007 makro pro uložení do souboru XML

Příspěvekod sparkler. » 27 zář 2011 12:38

kousek jsem postoupil, jen nevím jak ten název z bunky... Uložení jako xml dle šablony v listu je ok, přepsání souboru pokud existuje také.

ActiveWorkbook.XmlMaps("ABB XML").Export URL:="N:\pp\test1.xml", OVERWRITE:=True

tak pokud budete vědět jak ten název souboru a cestu někam na server budu moc rád. Dík Pavel

d1amond
člen HW spec týmu
Elite Level 12
Elite Level 12
Příspěvky: 16119
Registrován: květen 08
Bydliště: České Budějovice
Pohlaví: Muž
Stav:
Offline

Re: excel 2007 makro pro uložení do souboru XML

Příspěvekod d1amond » 27 zář 2011 16:41

Výborně, mám rád problémy, které se řeší samy.
Vytvoř si proměnou pro cestu a název souboru:

Kód: Vybrat vše

Dim path as String
Dim fileName as String

fileName = Worksheets(List1).Range("E5") 'uprav podle te skutecne bunky kde skladas nazev, dal jsem priklad E5
path = "C:\neco\neco\" + fileName 'uprav si dle potreby cestu

ActiveWorkbook.XmlMaps("ABB XML").Export URL:= path, OVERWRITE:=True

Nikdy neříkej, že to nejde, protože se najde někdo, kdo o tom neví a udělá to!
Chcete si nechat sestavit nový počítač?


  • Mohlo by vás zajímat
    Odpovědi
    Zobrazení
    Poslední příspěvek
  • EXCEL -jak otevřít 2 excel sobory abych je viděla současne a samostatně
    od Ketty02 » 30 srp 2024 21:19 » v Vše ostatní (sw)
    2
    4792
    od Riviera kid Zobrazit poslední příspěvek
    02 zář 2024 16:21
  • Přechod z Excel 21 na Excel 24
    od Snekment » 29 led 2025 13:46 » v Kancelářské balíky
    2
    12208
    od Snekment Zobrazit poslední příspěvek
    29 led 2025 15:05
  • Blokování stahovaných souborů
    od Riviera kid » 07 čer 2025 16:47 » v Windows 11, 10, 8...
    10
    3344
    od Riviera kid Zobrazit poslední příspěvek
    16 čer 2025 06:56
  • IDM hláška o nemožném stažení souboru Příloha(y)
    od bluenite » 04 črc 2024 11:08 » v Vše ostatní (inet)
    2
    4345
    od bluenite Zobrazit poslední příspěvek
    06 črc 2024 19:40
  • Program na hledání poškozených souborů JPG Příloha(y)
    od Rosta_Kolmix » 09 lis 2024 11:01 » v Design a grafické editory
    2
    4511
    od Minapark Zobrazit poslední příspěvek
    15 lis 2024 11:04

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

Kdo je online

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