Jump to content

VBA (Excel): Publish to PDF bez ISO 19005-1.. opcijas


itanium
 Share

Recommended Posts

Sveiki,

Nepieciešams ar VBA kodu no MS Excel eksportēt lapu PDF formātā ar izslēgu "ISO 19005-1 compliant (PDF/A)" opciju (skatīt bildē).

post-68306-0-95814600-1486543176_thumb.png

 

Provēju ierakstīt makrosus ar ieslēgtu un izslēgtu šo opciju, bet abos gadījumos tiek atgriezts pilnībā identisks kods:

    ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
        "lokācija" _
        , Quality:=xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas _
        :=False, OpenAfterPublish:=True

Ir kādas idejas, kā šo opciju izslēgt ar VBA?

 

Interneta dzīlēs atrastais variants

, UseISO19005_1:=False

, izmantojot ExportAsFixedFormat Type:=xlTypePDF , nestrādā.

 

Un, jā, pēc noklusējuma šī opcija ir izslēgta, bet jau uzgāju vienu kolēģi, kurai sazin kādu iemeslu dēļ šī opcija bija ieslēgta, un eksportētais PDF izskatījās drausmīgi.

Labots - itanium
Link to comment
Share on other sites

UseISO19005_1​ ir pieejams eksportējot no Worda un PowerPointa, ekselī šo ir aizmirsuši ielikt. Bet, nu, gudras galvas ir atklājuši ka parametrs tiek saglabāts reģistrā - tā kā atliek to tur izmainīt:

 

    Set myWS = CreateObject("WScript.Shell")
    myWS.RegWrite "HKEY_CURRENT_USER\Software\Microsoft\Office\15.0\Common\FixedFormat\LastISO19005-1", 0, "REG_DWORD"

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

 

15.0 atbilst Office 2013 - nomaini to atbilstoši savai versijai. Un jāņem vērā, ka reģistra parametru izmanto visas Office programmas - tā kā pēc eksporta, iespējams, to derētu nomainīt atpakaļ uz veco vērtību.

 

Link to comment
Share on other sites

Tieši tas, ko mekleju - paldies.

Atliek vien cerēt, ka, izmantojot Application.Version, strādās arī citām versijām.

Labots - itanium
Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...