Reklama
Nepřihlášený uživatel | Zaregistrovat se
 

Máš li cosi na duši, svěr se strýci Artuši ... tedy ehm, svěř se a on ti už někdo poradí :-)

jo, presne tak jsem to nakonec taky udelal - jak prosté, milý Watsone
Cywe, to je trik :)
Běžně to používám, jde to, ale musíš pozpátku - For x = (něco.Count - 1) To 0 Step -1
gorila Navision je zlo, které se musí vymítit.. 
Můžeš použít OLE automation (nutno přepsat do VB/VB.NET):
LOCAL m.loWord, m.loDOC

m.loWord=CREATEOBJECT("Word.Application")
m.loDOC=m.loWord.Documents.Open("X:\xfrx\Test\_out\RTF-UNI\RTF-UNI$$BOX$DOC.doc")
m.loDOC.Sections.Add() 
m.loDOC.Sections.Item(m.loDOC.Sections.Count).Range.InsertFile("X:\xfrx\Test\_out\TF-UNI\TF-UNI$$BOX$DOC.doc")
m.loDOC.Close()
m.loWord.Quit 
díky, podívám se na to, to vypadá dobře
Zkusil bych toto (zkušenost nemám) - https://github.com/jamessantiago/DocxMerge
asi si ty Windows moc představuju jako Linux, ale tohle sakra musí nějak jít...
Potřebuju to automatizovat ve skriptu: máme dodávku nové verze SW, která se skládá z různých komponent: moje myšlenka je taková, aby se postup instalace, což je wordový dokument, složil jenom z těch relevantních komponent, které v dodávce opravdu jsou, v každém releasu je to jinak.

Takže: "pokud existuje v dodávce adresář foo, vem v úvahu foo.doc, pokud existuje adresář bar, vem v úvahu bar.doc, pokud je tam soubor quux, vem v úvahu quux.doc, ty částečné dokumenty, které bereš v úvahu, slož do jednoho velkého výsledného docu."

kdyby to byly texťáky, je to triviální, ale bohužel jsou to wordové dokumenty a to neumím
Asi Kolín (nevím co přesně potřebuješ), ale když rozbalíš ve wordu v tabu Vložení nabídku Objekt a vybereš "Text ze souboru", tak můžeš vybrat více doc souborů a on ti v pořadí, v jakém jsou seřazeny, do (třeba prázdného) dokumentu vloží, viz screenshot

dotaz
Dá se ve VBA nebo podobném rychlém prasítku pro Windows spojovat několik wordových dokumentů do jednoho?
 
A nebo nenechat index radeu v DGV
běhat tupě v cyklu, ale po kazdem smazani nějakého řádku jeho hodnotu upravit
 
Ten datagrid uz je vyplnenej, mohl bych ho prochazet a kopirovat radky vyhovujici te podmince do jineho datagridu, ale mazani mi prislo jednodussi.
Zatim jsem ho nezplodil, zitra vecer zkusim.
Nebo si ta data držet zvlášť a jako datasource toho gridu dávat jen to vyfiltrované.
Nemůžeš mazat prvky pole nebo listu, který aktuálně procházíš. Jinak to samozřejmě normálně jde (metoda Remove, kdy použiješ For Each nebo RemoveAt(i), když použiješ nějaký iterátor). Ve zbytku dotazu jsem se ztratil. Zdrojový kód by bodl.
Poradí někdo staré lamě?
Mám datagridview naplněný daty a dva listboxy, v kterých jsou textové řetězce, vyskytující se i v prvním sloupci toho DGV. V prvním sloupci DVG jsou i jiné řetězce, než v listboxech, ale takové řádky tam nechci. A tak jsem vymyslel udelal cyklus od nuly do počtu řádek DGV a řádek, v kterém nebude shoda ani s prvým ani druhým listboxem, smazat. Byl jsem na to hodně pyšný, akorát to samozřejmě nefungovalo, protože jakmile se smazal jeden z řádků, už byl počet řádků jako horní mez v cyklu out of range. Stejně samozřejmě dopadlo do while. A tak mne napadlo, ty nevyhovující řádky označit, třeba napsat do prvního sloupce X a pak je hromadně smazat for each rows - to jsem zatím nezkoušel, protože sháním vánoční dárky. Není nějaká chytřejší možnost, jak toho docílit?
 
Dik, podivam se na ni. Ale zaroven jsem si uvedomil, ze mi za to kamarádi zadavatelé nic nedají a tak se na Excel vykašlu (i když s tím zkopírováním starého projektu ten import Office funguje) a nechám je data, jak jsi radil, kopírovat do něj z toho datagridviewu. Měl jsem sice chvilku problém s tím, jak zkopírovat i záhlaví, ale to už jsem vygooglil, takže je to vlastně hotové. A dík Gorile za tu poslední radu s joinem - ono to vlastne nema cenu. Ridici jim odchazeji, prichazeji, meni se, stejne by jim v řádcích neseděli proti minulému stavu, tak at si sestavu vygenerují za celý rok (tím budou mít všechny řidiče, co se tam za rok vyskytovali) a pak si ji v Excelu ořežou, jak chtějí.
Úplně bych se vysral na COM Interop - je to težce závislý na verzi Office. Nauč se pracovat s knihovnou NPOI (zadarmo), což je .NET knihovna pro práci se všema Office dokumentama bez nutnosti mít nainstalovanej Office. A funguje i pro ty starý formáty .xls, ne jenom nový .xlsx
Jo, oni to chteji takhle - s tlacitkem. Zatim nic nepomohlo. Ani, kdyz jsem tam dal Office 2016. Zajimave je, kdyz vezmu z jineho PC hotovy projekt a zkopiruju k sobe - tak projekt ten bezi a nemektá. Je fakt, ze ten projekt ma to office.interop dllko ve svem adresari /obj/release. Takze mi nezbude, nez zkusit, vzit nejakej tenhle funkcni projekt a prepsat ho.
Neděláš to náhodou zbytečně složitě? Když v tom DataGridViewu něco označíš a zkopíruješ, tak se to přesně se zachovanym formátem ze schránky vyblije do Excelu.