1 pièce(s) jointe(s)
problème VBA : « Le composant ActiveX ne peut pas créer l'objet »
Bonjour a tous,
Cela fait maintenant quelques heures que je bute sur ce problème qui semble récurent chez pas mal de personnes mais dont je n'ai pu trouver une solution.
J'obtiens la fameuse erreur "« Le composant ActiveX ne peut pas créer l'objet » " au niveau de la ligne Set Pdf = CreateObject("pdfforge.Pdf.Pdf").
Pour information mon code marche très bien sur mon PC (ou je suis administrateur) mais pas lorsqu'il est sur un réseau, la version de PDFCreator est plus ancienne sur mon poste (1.4.3 contre 2.1). Les références sont les même sur les deux postes :
Pièce jointe 214035
Voici mon code :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94
| Private Sub CommandButton1_Click()
CommandButton1.Caption = "Choix du dossier"
Dim LastRow As Integer
Dim i As Integer, j As Integer
Dim Fichiers() As Variant
Dim Pdf As Object
Dim Repertoire As FileDialog
Dim Dossier As String, Rep As String, sNomFichierPDF As String, sFichier As String
'### Dossier de travail ###'
Set Repertoire = Application.FileDialog(msoFileDialogFolderPicker)
Repertoire.Show
If Repertoire.SelectedItems.Count > 0 Then
MsgBox Repertoire.SelectedItems(1)
Else
Exit Sub
End If
Rep = Repertoire.SelectedItems(1)
'### Impression des Documents###'
CommandButton1.Caption = "Impression des Documents"
Set Pdf = CreateObject("pdfforge.Pdf.Pdf")
j = 0
LastRow = Feuil1.Range("A" & Rows.Count).End(xlUp).Row
For i = 5 To LastRow
If Feuil1.Range("A" & i) = "o" Then
sFichier = Feuil1.Cells(i, 6).Hyperlinks(1).Address
ReDim Preserve Fichiers(j)
Fichiers(j) = sFichier
j = j + 1
End If
Next i
Pdf.MergePDFFiles_2 Fichiers, Rep & "\Liste Documents.pdf", True
Set Pdf = Nothing
Erase Fichiers
'### Numerotation Documents###'
CommandButton1.Caption = "Numérotation des pages"
Dim pdfText As Object, WshShell As Object
Dim NombrePages As Integer
Dim Chantier As String
Set WshShell = CreateObject("WScript.Shell")
Set Pdf = CreateObject("pdfforge.pdf.pdf")
Chantier = Feuil6.Range("C7")
Set pdfText = CreateObject("pdfforge.pdf.pdfText")
With pdfText
.Text = Chantier & " - " & "[PAGE] / [PAGES]"
.FontColorBlue = 0
.FontColorGreen = 0
.FontColorRed = 0
.FontName = "arial.ttf"
.FontPath = WshShell.SpecialFolders("Fonts")
.FontSize = 12
End With
NombrePages = Feuil6.Range("T26")
Pdf.AddPageNumberToPDFFile Rep & "\Liste Documents.pdf", Rep & "\Liste Documents NumPages.pdf", 1, NombrePages, 1, NombrePages, 6, 15, 10, pdfText
Kill Rep & "\Liste Documents.pdf"
Set pdfText = Nothing Set Pdf = Nothing Set WshShell = Nothing
'### Assemblage des 3 PDF ###'
CommandButton1.Caption = "Assemblage"
Dim Merge(2)
Set Pdf = CreateObject("pdfforge.pdf.pdf")
Merge(0) = Rep & "\Cartouche.pdf" Merge(1) = Rep & "\Sommaire.pdf" Merge(2) = Rep & "\Liste Documents NumPages.pdf"
Pdf.MergePDFFiles_2 Merge, Rep & "\Liste Documents.pdf", False
Kill Rep & "\Liste Documents NumPages.pdf" Kill Rep & "\Cartouche.pdf" Kill Rep & "\Sommaire.pdf"
Set Pdf = Nothing
End Sub |
J'arrive pas a savoir d'ou viendrait le problème, une référence? Mon code? PDFCreator?
Merci de votre aide!