Příspěvky uživatele


< návrat zpět

Strana:  1 2 3 4 5 6 7 8 9   další » ... 15

Zdravím.

Děkuji Vám za deklarace. Odkaz na Váš doplněk můj problém sice neřeší, ale docela rád bych se podíval jak to máte napsané. Je možné poprosit o heslo k doplňkům ?

Ahoj Palooo

Děkuji za odkazy. Dostal jsem se přes hWnd a volání SetParent a FindWindow z user32.dll na různé výsledky. Všechny ale měly jednu vadu. Neznaly odkaz na monitory. Scereen z VB.NET jsem nenašel v běžných ani skrytých funkcích Excelu VBA. V které W10 API DLL je, a pod jakým jménem, jsem nezjistil. Předpokládal jsem, že když použijí rozměr a napočítám jsi kde začíná a končí který monitor, tak se snad dostanu na střed a pak jen vystředím běžnou funkcí. Když jsem Screen nenašel, bylo mi to k ničemu.

Nakonec jsem to po 3 létech vyřešil a pomohl mi Excel. Blbec chcípnul a vzal 4 soubory a jejich část práce. Jeden z nich jsem měl temp na ploše 3 monitoru a spustil jsem jej. V makru byla chyba a při otvírání zařval VBA. IDE VBA byl na 3 monitoru. No a jako obvykle jsem jej nehodil na 1 monitor. Spustil jsem ostatní a začal dělat co jsem potřeboval a najednou dialogy jsou na správném místě - na 3 monitoru. Tak jsem uvažoval a uvědomil jsem jsi, že formsy mají parent IDE VBA a to bylo na 1 monitoru. Tak se zobrazovaly na 1 monitoru. Nyní mám IDE na 3 monitoru a otvírá se vše správně. Jen když budu programovat, tak jsi to hodím na 2 nebo 1 monitor. Sice to stálo několik hodin, ale kodovaní je efektivní ... 0 řádků ;-)

Také Ti přejí vše nejlepší do nového roku.
Roman

Dobrý den.

Rád bych poprosil o radu, jak řídit zobrazení na různých monitorech.

Pracuji na 3 monitorech. Jedná se jen o jeden sešit-list "X". Přes klávesové zkratky spouštím makro. Z makra/listu se kontrolují doplňky a pokud existují, pak se zavolá vstupní funkce, která vybere a spustí/otevře formulář. Formulářů je více a jsou v doplňcích. Problém který se mi nedaří vyřešit je, jak ovlivnit na kterém monitoru se zobrazí formulář.

Příklad: List "X" je na monitoru 3. Formulář A se zobrazí na monitoru 1. Přes WIN+SHIFT+šipka přehodím formulář na monitor 3. Pracuji s formulářem - a zavřu. Pokud jej znovu otevřu, pak je na monitoru 3 ... na listu X a jsem spokojen.

Druhý formulář je stále při zobrazení na monitoru 1 - můžu jej přehodit na monitor 3, ale po otevření je stále na monitoru 1.

Zkontroloval jsem parametry přes F4 v IDE VBA a jsou stejné parametry pro oba formuláře. Spouštění je také identické. Přesto jeden se zobrazuje na monitoru 3 a druhý nejde přemluvit, aby se zobrazoval na monitoru 3 ... stále je na monitoru 1.

Předpokládám, že by mohla pomoci nějaká fce z API DLL z W10 a předání hWnd + nějaký parametr.

Nevíte, jak vyřešit tento problém, případně na co se podívat nebo nakopnout co vyguglit. Je to obtěžující.

R.

Ahoj. Po aktualizaci v DB potřebuješ nastavit trigger a vytvořit událost, která spustí makro v excelu.
Worksheets(cPivotZakazkyVyroby).PivotTables("PIVOT_DELAYED").PivotCache.Refresh
.
Myslím, že asi bude jednodužší co 5 minut aktualizovat pivota.

Ahoj,
Nevím jak to myslíš ... můžeš to blíže specifikovat ? Neumím uložit zkopírovanou výseč na disk.
Roman

Zdravím,

Poprosím o radu, nebo názor, jak by jste řešili uvedený problém.

Cílem je získat 2 stringy s HTML textem, který spojím a vložím do E-mailu a email odešlu.

Získat hlavičku a patu není problém. Jedná se o prosté natažení do souboru a podle klíčového textu nahrazení jiným textem.

Jiný text v tomto případě je kopírovaná oblast z Excelu, kterou vložím do schránky. Ze schránky se může vložit do emailu ve stejném formátu a to je problém. V rámci makra tento email generuji a potřebuji jej sestavit, natáhnout označenou oblast do stringu a vložit do emailu - odeslat.

Zkoušel jsem laborovat se schránkou (objektem) a vytahovat texty ze schránky přímo nebo prostřednictvím přednastaveni GetFormat a vychází mi stále ve stringu prostý text.

Napadají mě možnosti:

- Vykašlat se na schránku a oblast bunku po bunce přecist a html kod sestavit. To pokládám až jako poslední možnost, protože v ramci kopirované oblasti jsou různě sloučené bunky a to by byla prácička na moc dlouho.

- Kopirovat jako obrázek a vložit do emailu. Asi by se musel převést do textové podoby a nevím jestli styly CSS3 podporuje M.Outlook.

- Říkám si, že když je možné převést Excelovskou tabulku do html a uložit na disk, hledám řešení jak zkopírovat výseč a převést ji na HTML kod a mít jej v proměnné s kterou budu dále pracovat.

Roman

To je správně ... Díky ! Vzhledem k tomu, že jsem to procházel několikrát a je to přímo na očích, tak to zamrzí 5 5 5

@AL: To není ono. To vloží do tabulky položky i když mají všechny hodnoty nulové.

Kód na odstranění jsem měl napsaný a jistě bych ho ještě našel. Jenže před časem mě někdo na foru překvapil, že od verze asi 2007 to jde nastavit v ??? (to kdybych si vzpomněl) ... a mi se nechce zbytečně vkládat makra, když to není nutné. Já jsem měl v té době verzi 2003 a bez maker to jinak nešlo.

Díky

Na jednom listu můžete mít krásný formulář/šablonu vyšikovněnou k dokonalosti (plnou vzorců) a na druhém listu můžete mít data. Podle toho jak budete řídit pozice se ostatní vzorce přepočítají, čímž dojde ke změně údajů.
Inspiraci můžete načerpat z projektu "Faktura" na tomto webu.

Ahoj ALe,

Dovolenka :( ... dřív to nešlo.

Máš pravdu v Té verzi. Po dopsání verze (PT 4 (xlPivotTableVersion14)) to začalo nabízet průřezy.
Ještě jsem měl chybu v tom, že jsem používal PivotCache.Add a to je asi deprecated. Takže přechod na PivotCache.Create. V souvislosti s novou verzí při sestavování se ale objevil problém s rychlostí. Na tomto kousku to dokonce vytuhne a musím zhodit Excel.
With .PivotFields("FG Total")
With .DataRange
'.Interior.ColorIndex = 0
.Font.Bold = True
.ColumnWidth = 12
.VerticalAlignment = xlVAlignCenter
.HorizontalAlignment = xlHAlignRight
.NumberFormat = "# ### ##0 "
End With
With .LabelRange
.Interior.Color = ColorLabel2
.Font.Bold = True
.RowHeight = 33
.VerticalAlignment = xlVAlignCenter
.HorizontalAlignment = xlHAlignCenter
.WrapText = True
End With
End With

Když se na to podívám, tak tam vlastně nic moc není.
Proto mě napadá vysvětlení jen v množství RxC. Na této tabulce je 18000 radku x 133 sloupcu. Když použijí starou verzi, pak vytvoření je do cca 90s. Nová verze vytuhne protože předpokládám se skládají položky "po novu" "s odskokem pod sebe". KT má 6 výpočtových sloupců. Rád bych to nějak debugnul ale když to přestane reagovat a nejde ani CTRL + Break tak mi docházejí nápady :(

Ahoj.
Tlačítko na přidání průřezu do kontingenční tabulky mám šedé - nedá se přidat/vložit průřez. Tyto KT jsou sestavovány makrem. Nejde mi to na souborech .xls; .xlsm a .xlsx. Zkoušel jsem nastavování možností KT (používám klasické staré rozložení) a taky nic. Používám to krátce a moc zkušeností s tím nemám. Nenapadá Vás proč nejde průřez vložit do KT ?
Roman

Ahoj. Nejsem expert ... jen úvaha. ADO i DAO nebo ADOX nepodporují přímý přístup k OLEDB driveru. A následně ... někdo ten soubor musí otevřít, vložit zapis a zavřít, protože jinak se dále se souborem pracovat nedá - případně zhavaruje další přístup. Xlsx soubory nejsou databaze a driver k nim jen přistupuje "jako, že je to databaze". Nebo vytvořit kompilovanou DLL knihovnu, která Ti ty soubory bude obsluhovat. A zase, v knihovně budeš asi přistupovat přes interface/typovou knihovnu do Excelu ... otvírat soubor, zapsat, uložit a odejít. Myslím, že nejrychlejší by mohlo být makro ve VBA :-D a případně otevření několika souborů.
Nevím na co to máš, a jak to používáš ale obvykle pokládám jednoduchou otázku vzhledem k obrovským možnostem jediného souboru. "Jsi si jistý, že potřebuješ skutečně tak mnoho souborů ?" Nevyřeší Tvůj problém třeba konsolidace dat a obyčejný vzoreček ? R.

Nebo to udělej naopak. Rozsah nastav na sloupce $a:$c nebo na oblast $a5:$c1048576 a v kontingenční tabulce si odstraň (Prázdné). Pak Ti stačí jen doplnit řádky a aktualizovat pivot tabulku. Počítá to stejně.

Prosím, ještě jednou o vysvětlení. Předpokládám, že používáš makra napsaná ve VBA jazyku v ASSESSu nebo EXCELu. Z Tvého popisu si nejsem jistý, zda nepoužíváš přímo nějaký kompilátor VBA a Tvá aplikace jen nechodí do ACCESU nebo EXCELu pro data či grafiku. Pokud ano pak si můžeš vyrobit vlastní interface :)
Ad a) OK ... ale v čem to je (makra/binární program)
Ad b) Jde to ... stojí to pár korun a jedná se o rozšíření offisu nad MSSQL Server. Pak je možné aktualizovat data z kontingenční tabulky/grafu a zpětně je aktualizovat v DB. Tato OLAP platforma pro SQLSrv je pro NET a C#Sharp a stojí možná kolem mega. Přiznám se, že nevím, zda je něco takového možné mezi Excelem a Accessem. Napadlo mne, zda by nebylo lepší řešení, mít data v Excelu - záleží kolik jich je a jaké důvody Tě vedou pro to mít to v Accessu. (Já jsem Access "odepsal" před roky a nechci jej vidět. Jsem proti němu zaujatý.)
Ad c) Určitě to jde, už jsem to dělal. Viděl bych to ale spíš na výměnu mezi kompilovanými programy - ne na naše makra.
Ad d) OLE stačí na jednoduché věci. Velmi jednoduše se dá ovládat z jiného programu třeba Excel a ani není vidět že je spuštěný. Delphi (i jiní) dovedou vytvořit interface na tyto OLE části, pak je obalí do objektů a pracuješ s nimi jako by to byl Tvůj program a pak je možné je ovládat/ využívat jak potřebuješ :)
Na druhou stranu to chce spoustu času a hlubší znalosti abys to dotáhnul do konce. Proti tomu mi příjde pivot tabulka + graf v Excelu připojen na přes ODBC na data jako procházka po pláži. Pokud chceš, tak co Ti brání v Excelu si udělat makro, které přes ole napíše zpět do accessu nějaké data nebo např. zavolá proceduru a předá ji parametr ... a již se o nic nestará. Dalším je trigger a pak např. obnovení okna v Accessu po události ... atd.

Můj názor je, že vedle sebe postavené dvě okna (Excel + Acces) a v jednom mít graf a v druhém třeba nějaké dialogy je příjemné prostředí pro práci.

Ahoj. Jen tak od pasu ... Sdílená data by šlo připojit snad jen přes namapovaný soubor do paměti a to nevím, zda Ti VBA dovolí. Na druhou stranu, dělat si proto vlastní DLL, která by se Ti o to postarala by se mi nechtělo. Předpokládám, že Ram ve Tvém podání je sdílený paměťový prostor. Na druhou stranu by mohlo fungovat vyrobení obyčejné pivot tabulku s Gantový grafem a připojením přes přes ODBC na zdroj dat z Accesu. Něco podobného jsem dělal ( ale bez Gantta ) a tabulku jsem přikryl grafem, že nebyla vidět. R.


Strana:  1 2 3 4 5 6 7 8 9   další » ... 15

Uživatelské menu

Nejste přihlášen(a)
avatar\n

Menu

On-line nástroje

Formulář Faktura

Formulář Faktura IV

Oblíbený formulář Faktura byl vylepšen a rozšířen.
Více se dočtete zde.

Aktivní diskuse

EXCEL VBA vyhledání buňky

elninoslov • 19.10. 11:34

EXCEL VBA vyhledání buňky

elninoslov • 19.10. 11:24

EXCEL VBA vyhledání buňky

ben59 • 19.10. 9:34

Ověření datumu TextBox1.Text

Stana-V • 19.10. 7:43

Ověření datumu TextBox1.Text

elninoslov • 18.10. 20:15

Auto mazanie emailov

elninoslov • 18.10. 20:01

Ověření datumu TextBox1.Text

Scraper • 18.10. 18:25