< návrat zpět

MS Excel


Téma: PrintOut rss

Zaslal/a 15.2.2020 15:27

Dobrý den,
mám jeden problém s makry. Když si ve VBA napíšu makro s příkazem ExportAsFixedFormat a zadávám rozsah tisku (rozsah stran - jedná se tedy spíše o Word), tak je možné zadat rozsah From To normálně čísly bez uvozovek nebo i dokonce pomocí proměnné. Pokud ale napíšu makro s příkazem PrintOut kde bych očekával, že to bude stejné, tak se rozsah musí zadat číslem v uvozovkách. Pokud bych zadal číslo bez uvozovek, tak mi makro hází chybu. To by mi ani tak nevadilo, ale nepodařilo se mi zadat rozsah pomocí promměných, což potřebuji. Příčinu bych možná právě viděl v tom, že se rozsah nezadává tím konkrétním číslem, ale textem (číslo v uvozovkách). Nevíte tedy, jak by bylo možné u příkazu PrintOut zadávat rozsah tisknutých stránek pomocí promměných? (Makro mi totiž předtím vypočítává, jaký rozsah stran má být tisknut). Děkuji

Zaslat odpověď >

#045889
avatar
A prečo teda nezadáš textom?
napr. "2-8"
alebo "3,5,8,11"

neviem ako by si zadával tieto hodnoty číslami.citovat
#045890
Stalker
Tak si proměnnou převeď na text.citovat
#045893
avatar
Já to potřebuji zadat proměnou, poněvadž to makro nejprve samo vyhodnotí po kterou stranu má být tisknuto (podle určitého textu).Abych uvedl názorně, toto mi funguje (tečky jsou další části kodu, který tady není důležitý):
Sub Ukazka()Dim UZ As Byte, ...
...
UZ = Selection.Information(wdActiveEndPageNumber)ActiveDocument.ExportAsFixedFormat OutputFileName:=Cesta & " - Priklad.pdf", ExportFormat:=wdExportFormatPDF, OpenAfterExport:=True, Range:=wdExportFromTo, From:=1, To:=UZ
End Sub

Ale tohle bohužel nefunguje:
Sub Vyhl()
Dim Dolozka As Byte, StrankaDolozky As Byte, Konec As Byte, …

Dolozka = Selection.Information(wdActiveEndSectionNumber)
StrankaDolozky = Selection.Information(wdActiveEndPageNumber)
If Dolozka = 1 Then
Konec = StrankaDolozky
Else
Konec = StrankaDolozky - 1
End If

ActiveDocument.PrintOut Range:=wdPrintFromTo, From:=1, To:=Konec, copies:=1, collate:=True
End Subcitovat
#045894
Stalker
Budu se opakovat.
Tak si proměnnou převeď na text !

ActiveDocument.PrintOut Range:=wdPrintFromTo, From:=CStr(1), To:=CStr(Konec), copies:=1, collate:=Truecitovat
#045895
avatar
Tak jo, s tím CStr to opravdu funguje, tak díky.citovat

Uživatelské menu

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

Menu

Formulář Faktura

Formulář Faktura IV

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

Helios iNuvio

Používáte podnikový systém Helios iNuvio? Potřebujete pomoci se správou nebo vyvinout SQL proceduru? Více informací naleznete na stránce Helios iNuvio.

On-line nástroje