Stránka 1 z 1

excel 2007 makro pro uložení do souboru XML

Napsal: 23 zář 2011 20:05
od sparkler.
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

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

Napsal: 23 zář 2011 22:12
od d1amond
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:\

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

Napsal: 26 zář 2011 06:58
od sparkler.
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 59 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

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

Napsal: 26 zář 2011 17:08
od d1amond
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.

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

Napsal: 27 zář 2011 12:38
od sparkler.
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

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

Napsal: 27 zář 2011 16:41
od d1amond
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