Chápu na co narážite já jsem zrovna jeden z těch co k smrti nesnáší doplňující otázky . Mohl bych to do aleluja obhajovat, ale to bychom jen tlachali. Nepředpokládal bych že kvuli jedné věci musím udělat 5jiných o kterých nemám ani páru. Tak snad to pak nějak pochopím.
Jedná se stále o stejné makro které spolu řešíme Zde
o makro které upraví a následně porovná soubory csv.
Pro zpřijemnění obsluhy makra jsem vytvořil 2 dialogy jeden obsahuje (pro případ že uživatel bude tele a uloží soubory jinam) pouze textové pole kam napíše cestu k souborum (libil by se mi tam FileControl1 jenže ten požaduje vybrání souboru já potřebuji jen složku a to jsem nepřišel jak) a pak už jen tlačítko Spustit (stále to běží v jednom makru) tím se načte soubor upraví se a vyexportuje pro 2 dodavatele. Jakmile toto dodělá spustí se druhý dialog kde jsou zaškrtávací tlačítka dobrovsky pemic kosmas euromedia a 2 tlačítka volby ze souboru a ze schránky,ty bych rád aby byly skryty do okamžiku, kdy uživatel vybere tlačítko dobrovsky. Poté se zobrazí a já si navolím jak mi momentálně daný dodavatel vyplivl výsledek. Jakmile navolím kliknu na tlačítko porovnat a už to jede vloží to pouze dodavatele které jsem zaškrtl a navíc v případě bobrovského list bud vloží nebo ho vytvoří vložením ze schránky. Tedy alespoň teoreticky to tak funguje. Ten druhý dialog vlastně tvoří pauzu než vyexportované soubory protlačím přes dodavatele a jakmile mám vysledky vyplnim dialog a jedu dál. Předpokládal bych že jakmile zavřu tento dialog vrátim se do puvodního makra prvního dialogu. Ale takto to funguje jen teoreticky prakticky jsem tam ještě nedošel .
Tak to asi vše lépe to snad nedokážu ani popsat a zbytek co by to mělo dělat je psíš do toho původního příspěvku. Viz odkaz dríve.
Předem díky
Max
Sub Dialog2Show
Dim dlg As Object
Dim Cesta As Object
dim document as object
dim dispatcher as object
document = ThisComponent.CurrentController.Frame
dispatcher = createUnoService("com.sun.star.frame.DispatchHelper")
DialogLibraries.LoadLibrary("Standard")
dlg = CreateUnoDialog( DialogLibraries.Standard.Dialog2 )
dlg.Execute()
x = dlg.model.Cesta.text
cUr_zasoby = x+"Zasoby1.csv"
ImportCSVPrepisList(cUr_zasoby , "Zasoby")
y="file:///"+x+"dobrovsky.csv"
dim dobrovsky(2) as new com.sun.star.beans.PropertyValue
dobrovsky(0).Name = "URL"
dobrovsky(0).Value ="file:///"+x+"dobrovsky.csv"
dobrovsky(1).Name = "FilterName"
dobrovsky(1).Value = "Text - txt - csv (StarCalc)"
dobrovsky(2).Name = "FilterOptions"
dobrovsky(2).Value = "59,34,33,1,,0,false,true,true,false"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, dobrovsky())
dim vzoreck(0) as new com.sun.star.beans.PropertyValue
vzoreck(0).Name = "Nr"
vzoreck(0).Value = 1
dispatcher.executeDispatch(document, ".uno:JumpToTable", "", 0, vzoreck())
Rem vložení a úprava vprvního sloupce vožení zakaznického čisla pro pemic
dispatcher.executeDispatch(document, ".uno:InsertColumns", "", 0, Array())
dim fomat(0) as new com.sun.star.beans.PropertyValue
fomat(0).Name = "NumberFormatValue"
fomat(0).Value = 100
dispatcher.executeDispatch(document, ".uno:NumberFormatValue", "", 0, fomat())
dim args6(0) as new com.sun.star.beans.PropertyValue
args6(0).Name = "StringName"
args6(0).Value = "02516"
dispatcher.executeDispatch(document, ".uno:EnterString", "", 0, args6())
dispatcher.executeDispatch(document, ".uno:Copy", "", 0, Array())
Rem vložení zákaznického čísla do všech buněk 1 sloupce tedy až po konec hodnot 2 sloupce
Rem nejdřive vpravo nahoru
dim args10(1) as new com.sun.star.beans.PropertyValue
args10(0).Name = "By"
args10(0).Value = 1
args10(1).Name = "Sel"
args10(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoRight", "", 0, args10())
Rem směrem dolu na konec dat
dim args11(1) as new com.sun.star.beans.PropertyValue
args11(0).Name = "By"
args11(0).Value = 1
args11(1).Name = "Sel"
args11(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoDownToEndOfData", "", 0, args11())
Rem Zpět vlevo na začátek dat
dim args12(1) as new com.sun.star.beans.PropertyValue
args12(0).Name = "By"
args12(0).Value = 1
args12(1).Name = "Sel"
args12(1).Value = false
dispatcher.executeDispatch(document, ".uno:GoLeftToStartOfData", "", 0, args12())
Rem a nahoru na začátek dat
dim args13(0) as new com.sun.star.beans.PropertyValue
args13(0).Name = "By"
args13(0).Value = 1
dispatcher.executeDispatch(document, ".uno:GoUpToStartOfDataSel", "", 0, args13())
Rem vložení zkopirovaného zak čísla do právě vybraných buněk
dispatcher.executeDispatch(document, ".uno:Paste", "", 0, Array())
rem nazev2 = InputBox("Zadejte název souboru exportu pro načtení ko,eu,doKterý bude uložen na C:\" ,,"Pemic")
Rem uložení sešitu jako pemic
dim args1(2) as new com.sun.star.beans.PropertyValue
args1(0).Name = "URL"
args1(0).Value = "file:///"+x+"pemic.csv"
args1(1).Name = "FilterName"
args1(1).Value = "Text - txt - csv (StarCalc)"
args1(2).Name = "FilterOptions"
args1(2).Value = "59,34,33,1,,0,false,true,true,false"
dispatcher.executeDispatch(document, ".uno:SaveAs", "", 0, args1())
Rem až sem to funguje pak se spustí druhý dialog a už to právě vázne na tom zobrazení tlačítek volby
Dialog1Show
Rem a tady bych teoreticky předpokládal zbytek kodu
End Sub
Editoval max2005 (16. 10. 2018 21:24:14)