› Sviluppare funzionalita su Microsoft Office con VBA › Creare pdf
Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
-
AutoreArticoli
-
Ciao ragazzi, ho un problema ... scopiazzando e facendomi aiutare sono riuscito a scrivere questo codice che funziona perfettamente, ora vorrei aggiungere prima di mostrare la finestra di stampa, la creazione automatica di un pdf il cui nome sia la cella k6 e in un percorso particolare ( che poi modificherò io).
Grazie a chi miaiuterà.
Sub PopolaScheda() Dim wsMR As Worksheet Dim wsST As Worksheet Dim vFieldsMR As Variant Dim vFieldsST As Variant Dim i As Byte i = MsgBox("Vuoi copiare i dati nel foglio ""Scheda Tecnica?""", vbQuestion + vbYesNo, "Copia dati") If i = vbNo Then Exit Sub Set wsMR = ThisWorkbook.Worksheets("MASCHERA RICERCA") Set wsST = ThisWorkbook.Worksheets("Scheda Tecnica") wsMR.Activate vFieldsMR = Array("K7", "K8", "G11", "G14", "K13", "K14", "K15", "G16", "G7", "G8", "G9", _ "G12", "G13", "K26", "G10", "D4", "D5", "D6", "D9", "D36", _ "D7", "D8", "D21", "D22", "D23", "D13", "X7", "D10", "D16", "D14", _ "D11", "E16", "D12", "D15", "E17", "D30", "D31", "D32", "D18", "D49", _ "D17", "D20", "D19", "D24", "D25", "D26", "F37", "G37", "H37", "G34", _ "G35", "N49", "H31", "K18", "K19", "K20", "K21", "K22", "K23", "L17", "L18", "L19", "L20", _ "L21", "L22", "L23", "M17", "M18", "M19", "M20", "M21", "M22", "M23", "N17", "N18", "N19", _ "N20", "N21", "N22", "N23", "O17", "O18", "O19", "O20", "O21", "O22", "O23", _ "P17", "P18", "P19", "P20", "P21", "P22", "P23", "G15", "K29", "G6", "H48", "N15", "K16", _ "G17", "G18", "G19", "H8", "H9", "H14", "K24", "L15", "M15", "M24", "X9", "H16", "F21", _ "K6", "K35", "M37", "r31", "C63", "C65", "C67", "D63", "D65", "D67", "E63", "E65", "E67", _ "F63", "F65", "F67", "G63", "G65", "G67", "H63", "H65", "H67", "G26", "H26", "E25", "G29", "M26", "H29", "R37", "Q41", "AA35", "M27", _ "D31", "D32", "E31", "E32", "E30", "K17") wsST.Activate vFieldsST = Array("D2", "H2", "C8", "G8", "C10", "F10", "H10", "C12", "G12", "C14", _ "G14", "C18", "G18", "D20", "H20", "F32", "D33", "F33", "C36", _ "F36", "F35", "H35", "C37", "E37", "G37", "F40", "H40", "C41", _ "F41", "F43", "C44", "F44", "C47", "F46", "F47", "E49", "C50", _ "F50", "E52", "B53", "A56", "A59", "F58", "C62", "C63", "C64", _ "E62", "E63", "E64", "G62", "G63", "C65", "H52", _ "C24", "D24", "E24", "F24", "G24", "H24", _ "B26", "C26", "D26", "E26", "F26", "G26", "H26", _ "B27", "C27", "D27", "E27", "F27", "G27", "H27", _ "B25", "C25", "D25", "E25", "F25", "G25", "H25", _ "B28", "C28", "D28", "E28", "F28", "G28", "H28", _ "B29", "C29", "D29", "E29", "F29", "G29", "H29", "F54", "F20", "D6", "B66", "A25", "A24", _ "C42", "C38", "F42", "C13", "G13", "C22", "H41", "H44", "H47", "H42", "H66", "D12", "F19", _ "F4", "H4", "D4", "H6", "C78", "C80", "C82", "D78", "D80", "D82", "E78", "E80", "E82", _ "F78", "F80", "F82", "G78", "G80", "G82", "H78", "H80", "H82", "D54", "E54", "G64", "H53", "C19", "H54", "F6", "H22", "G36", "E12", _ "D50", "G50", "H48", "H49", "G49", "B24") 'Cancella tutti i campi nel foglio Scheda Tecnica For i = LBound(vFieldsST) To UBound(vFieldsST) wsST.Range(vFieldsST(i)) = "" Next i 'Popola tutti i campi del foglio Scheda Tecnica prelevando i dati dal foglio Maschera Ricerca For i = LBound(vFieldsMR) To UBound(vFieldsMR) wsST.Range(vFieldsST(i)) = wsMR.Range(vFieldsMR(i)) Next i MsgBox "Dati copiati", vbInformation, "Copia dati" On Error GoTo ErrorHandler Application.Dialogs(xlDialogPrint).Show ErrorHandler: If Err.Number <> 0 Then MsgBox "Operazione annullata dall'utente.", vbInformation Err.Clear End If End SubCiao, ora non ho pc per aiutarti con il codice ma tu intanto prova a dare uno sguardo al metodo ExportAsFixedFormat
https://learn.microsoft.com/it-it/office/vba/api/excel.worksheet.exportasfixedformat
Vedi se riesci a tirar giù qualcosa di utile, eventualmente sistemiamo dopo.
-
AutoreArticoli
Stai vedendo 2 articoli - dal 1 a 2 (di 2 totali)
