Příspěvky uživatele


< návrat zpět

Strana:  1 ... « předchozí  10 11 12 13 14 15 16 17 18   další » ... 69

4 Kód sem testoval na Office 2016 a Win7
a běhal bez problému.

Outlook máš taky z Office 2016?

Co znamená nejde?
Zobrazí se chybová hláška nebo se sekne na nějakém řádku?
Ten kód někdy fungoval?

Edit:
Co tento kód:
Option Explicit

Private Sub Send_mail_Click()

Dim Outapp As Outlook.Application
Dim Zprava As Outlook.MailItem
Dim PDF_path As String

'PDF_path = ActiveWorkbook.Path & "\logfile.txt" '"\Objednávka.pdf"

PDF_path = "C:\EXCEL\logfile.txt" '"\Objednávka.pdf"

'ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=PDF_path _
, Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
:=False, OpenAfterPublish:=False

Set Outapp = New Outlook.Application
Set Zprava = Outapp.CreateItem(olMailItem)

On Error GoTo ERR1

With Zprava
.BodyFormat = olFormatPlain 'format mailu
.Display 'zobrazit okno
.To = Range("b1") 'adresát
.Subject = Range("b2") 'předmět
.Body = Range("b3") 'obsah
.Attachments.Add PDF_path 'příloha
.CC = Range("b4") 'kopie mailu
.Send 'odeslat
End With
GoTo konec
ERR1:
MsgBox "e-mai nebyl odeslán, něco je špatně", vbCritical, "CHYBA !!!"
MsgBox PDF_path
Zprava.Close olDiscard

konec:
End Sub


Při testování jsem měl hodnoty (To, Subject, Body) přímo v kódu. K jednotlivým buňkám si doplň i odkaz na konkrétní list.

Samozřejmě v Tool -> References musí bít vybrána příslušná knihovna (Microsoft Outlook xx.x Object Library).

Použit maticový vzorec. Jeho zadání se ukončí CTRL+SHIFT+ENTER

CZ Excel?

=MOD(ŘÁDEK();2)=0

eLCHa napsal/a:

Pak stačí použít pole a na testování funkci Filter.


Pokud načte hodnoty do pole přímo z listu

MaxRadek = List4.Cells(Rows.Count, "B").End(xlUp).Row
Set Oblast_FAST = List4.Range("B2:B" & MaxRadek)
arrPole = Oblast_FAST.Value


výsledné pole bude "dvourozměrné" arrPole(1 to 22, 1 to 1)
Bude funkce Filter funkční?
Nikdy se mi to nepodařilo rozběhat, pouze pokud bylo pole "jednorozměrné" tedy arrPole(1 to 22).
Je v tom nějaký fígl? Díky za info.

Půjčil sem si Lugrův soubor a upravil načítání jmen do Ověření dat.

Maticový vzorec, jeho zadání se ukončí trojkombinací CTRL+SHIFT+ENTER

Dobře, budu za blba, ale zeptám se. Proč kolekce?

Na to by stačilo pole a zbavíš se jednoho cyklu nebo další variantou je Slovník (Dictionary) s funkcí Exists.

Použil sem soubor co vkládal Jirka a doplnil kód pro Pole a Slovník, trochu sem upravil i tu kolekci (v proměnné byl překlep).

Pokud by si u slovníku použil včasnou vazbu, můžeš využít výhod Intellisense
https://excelmacromastery.com/vba-dictionary/

Vyzkoušej tohle, snad Ti to bude fungovat podle představ.

Přesně jak píše kolega výše.

Z toho popisu co si sem dával, sem pochopil, že se sešit do kterého se výsledky kopírují nemá zavírat, ale zůstat otevřený, proto ta kontrola počtu spuštěných instancí.

Pokud by se sešít zavíral "ručně" a opětovně otevíral přes makro budou instance excelu stále viset v paměti.

Pokud se má tedy soubor, do kterého se kopíruje zavírat, nejjednodušší to bude udělat přímo v kódu a při tom i odstřelit "druhou" instanci

Tak tady to máš.
Musel sem se zbavit i ovládacích prvků na výběr jména a místa zaměstnání. Nelíbil se jim skrytý list Data na který byly navázány.
Zvolil sem cestu nejmenšího odporu a nahradil je za Ověření dat.

Jinak v kódu se používají "CodeName" listů, to jsou ty jména, která vidíš v editoru VBA mimo závorky u jednotlivých listů. Je to z toho důvodu, pokud by došlo do budoucna k přejmenování jednotlivých listů, kód bude stále funkční.

Jediné co musí být dodrženo je jméno souboru shodné z konstantou v modulu mod_Nastaveni

Pokud tedy provedeš přejmenování souboru, změň jméno i u konstanty !!!

Prozatím jen vyměněny optionbuttony z prvků formuláře za ActiveX + kód.
Když vybereš nějaký optionbutton ze skupiny, další dva se zakážou.

V Module2 je resetovací kód.

Ve skupině A je popisek součástí optionbuttonu v dalších skupinách je součástí buněk (jak si původně měl).

Dej vědět co více vyhovuje.

Dita napsal/a:

K tomu proklikání testů v jedné oblasti (A-E)- to mě vůbec nenapadlo, ale je to tak.

Právě, a je to tedy povolené chování toho testu? Když uživatel zjistí, že po kliknutí na první optionbutton se mu aktivuje list 1, nic mu nebrání si proklikat jednotlivá ouška listů nebo všechny Optionbuttony, přečíst si všechny otázky a vybrat si test, který mu nejvíce vyhovuje.

Dita napsal/a:

Čím je vlastně dáno, že se bude list tisknout? Tady úplně nerozumím otázce.

V řešení, které jsem sem původně dal, byl list zařazen do tisku pouze na základě toho, že byl přes optionbutton aktivován (vybrán), což je na základě předchozího odstavce na dvě věci.

Dita napsal/a:

Ale nevěděl jsem, že se sestava po uzavření sešitu vymaže.

Nemusí, záleží jak si to "naprogramuješ" může se např. ukládat někam do listu.

Další variantou by bylo všechny listy mimo "titulku" skrýt a zobrazovat je na základě vybraného optionbuttonu. Popřípadě pokud nemá uživatel vidět všechny listy (testy) po aktivaci jednoho optionbuttonu ze skupiny ostatní zakázat. Poté vytiskout jen viditelné listy.
????

No v první řadě z původního popisu sem nabyl dojmu, že se bude tisk provádět ihned po dopsání testu. Proto sem zvolil toto řešení.
Při kliknutí na příslušný OptionButon se aktivuje list, který k němu náleží (Tvá práce), do kódu sem dodal funkci, že se zároveň do pole Sestava uloží index listu. Při výběru dalších OptionButtonů (listů) se pole Sestava plní indexy dalších listů.

Makro Tisk
vezme pole Sestava a zobrazí náhled před tiskem, po tisku nebo zrušení náhledu se pole vymaže pro další použití. Toto pole je uloženo v paměti RAM počítače, takže pokud soubor zavřeš (i po uložení souboru) dojde k jeho odstranění z paměti a po opětovném otevření souboru je prázdné, proto ta chyba.

Když se nad tím zamyslím celý ten koncept je špatně, vzhledem k bodu 3 a 4. Zaměstnanec klidně může proklikat všechny OptionButtony na listu, než si vybere konkrétní test. Jak máš tohle ošetřeno? Nebo je to možné? (došlo by k tisku všech listů!)

Čím je vlastně dáno, že se bude list tisknout?
Pokud to má být jen na základě hodnoty Optionbuttonu bylo by vhodné to celé předělat a místo ovládacích prvků formuláře použít prvky ActiveX.

Duplexní tisk je záležitostí ovladače tiskárny, proto sem volil zobrazení náhledu před tiskem, kde si můžeš zvolit tiskárnu a případně upravit nastavení, místo přímého tisku na výchozí tiskárnu.

Ukládání souborů bude řešeno jak? Ručně nebo pomocí makra ?

Hm 7 . Blbý no.
A co se takhle s námi podělit o informace, jakým způsobem má tenhle "test" vlastně fungovat?!


Strana:  1 ... « předchozí  10 11 12 13 14 15 16 17 18   další » ... 69

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

Vynásobit hodnoty kurzem - Power Query

lubo • 25.4. 19:18

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 15:12

Relativní cesta - zdroje Power Query

Alfan • 25.4. 15:08

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 14:21

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:49

Relativní cesta - zdroje Power Query

elninoslov • 25.4. 10:47

Relativní cesta - zdroje Power Query

Alfan • 25.4. 10:40