Printen useform in landscape formaat

  • Onderwerp starter Onderwerp starter gst
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

gst

Gebruiker
Lid geworden
5 jan 2010
Berichten
125
Besturingssysteem
64-bits besturingssysteem, x64-processor
Office versie
Microsoft Office LTSC Professional Plus 2021
Geacht forum,

Ik ben op zoek naar een mogelijkheid om d.m.b. van een button alleen de getoonde useform te printen in landscape formaat.
Hiervoor heb ik wel iets gevonden (zie bijlage) echter deze werkt alleen bij office 2010 windows7 64bit.

Wanneer ik deze gebruiken wil met office 2013 windows7 64 bit, dat geeft dit de volgende compileerfout:
De code in dit project moet worden bijgewerkt voor gebruik op 64-bits systemen.
Controleer de instructies, werk ze bij en markeer ze met het kenmerk PtrSafe.

Het lukt bij niet om hiervoor de juiste programmeerwijze te vinden om voor windows 7 64bit office 2013 vba7.1
Heeft iemand voor mij misshien een oplossing?

Bvd. gst
 

Bijlagen

Je hebt dus ook Office 64-bit?
Als je er toe in de gelegenheid bent kun je beter, ook volgens Microsoft zelf, de 32-bit versie van Office gebruiken. De meeste van dat soort externe functies en invoegtoepassingen wordt (nog) niet voor de 64-bit Office gemaakt. Als je die gelegenheid niet hebt wil ik wel eens kijken of ik die functie om kan bouwen voor gebruik in 64-bit Office.
 
Helaas ben ik daar niet toe in staat.
Voor mijn toepassing moet het gebruikt worden in een kantoor omgeving waar ieder gebruikt maakt van office 2013 windows 7 64 bit.
Waar kan ik overigens zien of office 2013 64 bit is?

gst
 
Dat kun je zien onder BESTAND, Account en klik dan op het ? met Info over Excel.

ExcelInfo.jpg

Office 32-bit draait trouwens ook op Windows 64-bit.
 
Laatst bewerkt:
Weer wat geleerd!
Het is inderdaad office-2013 64bit.
 
Ik heb de functie zo voor je omgebouwd dat het in zowel de 32- als 64-bit Office zou moeten werken. Ik kan het echter niet testen omdat ik alleen de 32-bit versie heb. Het compileren ging goed. Probeer het dus eens.

Bekijk bijlage Printen vba excel useform.xlsm

Edit:
Ik had het verkeerde document bijgevoegd.
 
Laatst bewerkt:
Helaas, ik krijg nog steeds dezelfde foutmelding.
Ik zag trouwens dat ik in zowel de useform als in de module het zelfde had gezet.
Maar op zich maakt dat niet uit.
Ik heb het ook getest in de useform. Maar ik krijg dezelfde foutmelding
 
Heb je ook gezien dat ik het verkeerde document had bijgevoegd?
Die er nu staat is de goede.
 
Ik krijg nu een compileerfout:
Constanten, reeksen met en vast lengte, matrices, door een gebruiker
gedefinieerde typen en Declare-instructies zijn niet toegestaan als
openbare leden van objectmodules
 
De declaraties voor de 64-bit functies zijn nu dus in orde.
Waarschijnlijk kan ik dat laatste ook wel oplossen maar helaas niet zonder een 64-bit Office omgeving.
Misschien dat iemand anders hier een 64-bit Office heeft en er eens naar wil kijken.

Haal in ieder geval de code die ook in de module staat uit het userform weg.
 
Laatst bewerkt:
Ik heb ook geen 64bit maar wel wat forumervaring met dit soort vragen
Code:
#If [COLOR="#FF0000"]VBA7[/COLOR] Then
    [COLOR="#FF0000"]Private[/COLOR] Declare PtrSafe Function keybd_event Lib "user32.dll" (ByVal lpszSrc As String, ByVal lpszDst As String) As Long
#Else
    Private Declare Sub keybd_event Lib "user32" (ByVal bVk As Byte, _
    ByVal bScan As Byte, ByVal dwFlags As Long, ByVal dwExtraInfo As Long)
#End If
 
Ok, ben benieuwd. Anders kijk ik morgen aan de zaak wel even. Daar moet ik nog ergens een VM hebben met Office 2013 64-bit.
 
Ik heb de module verwijderd en het voorstel van alphamax toegepast.
Nu volgt een copileerfout: ' Onjuist aantal argumenten of ongeldige eigenschappentoewijzing' bij keybd_event...
Edmoor, mocht jij nog iets kunnen vinden dan verneem ik dit graag.
Dank voor jullie inspanning alvast!

Ik heb de aangepaste versie als bijlage toegevoegd.
 

Bijlagen

Helaas bij werkt het niet.
Het blijft nu steken bij

ActiveSheet.Paste Format:="Bitmap", Link:=False, _
DisplayAsIcon:=False
 
Heeft iemand nog een suggest om dit probleem op te lossen waarop het aangepaste programma van admoor bij mij
blijft steken?

ActiveSheet.Paste Format:="Bitmap", Link:=False, DisplayAsIcon:=False
 
Ik heb nog even gekeken wat er aan de hand zou kunnen zijn en toch nog een paar wijzigingen gedaan i.v.m. 64Bit Office. Er is maar lastig informatie over te vinden. Probeer deze eens:
Bekijk bijlage Printen vba excel useform.xlsm
 
Laatst bewerkt:
edmoor, je bent een volhouder!
Het klopt dat er weinig informatie te vinden is.

Maar helaas ook dit keer geen resultaat!
Programma geeft een fout aan bij:
ActiveSheet.PasteSpecial Format:="Bitmap", Link:=False, _
DisplayAsIcon:=False
met als foutmelding: Methode PasteSpecial van Klasse Worktsheet is mislukt

Kun je hier iets mee?
 
Weet je wel zeker dat je de versie uit bericht #17 hebt? Want de foutmelding die je geeft is precies dezelfde als eerder. Dat komt omdat de geautomatiseerde screenshot niet goed werkte en dat heb ik in die versie opgelost.
 
Voor de zekerheid heb ik nu bestand van #17 gedowdload en gesaved.
Resultaat is helaas hetzelfde!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan