Fichiers Pdf dans un WebBrowser
Fermé
JulienHch
Messages postés
22
Date d'inscription
mardi 19 février 2019
Statut
Membre
Dernière intervention
10 avril 2019
-
Modifié le 10 avril 2019 à 08:08
JulienHch Messages postés 22 Date d'inscription mardi 19 février 2019 Statut Membre Dernière intervention 10 avril 2019 - 10 avril 2019 à 08:58
JulienHch Messages postés 22 Date d'inscription mardi 19 février 2019 Statut Membre Dernière intervention 10 avril 2019 - 10 avril 2019 à 08:58
A voir également:
- Webbrowser pdf
- Lire le coran en français pdf - Télécharger - Histoire & Religion
- Comment faire un pdf - Guide
- Save as pdf - Télécharger - Bureautique
- Comment modifier un pdf - Guide
- Télécharger dictionnaire larousse pdf gratuit - Télécharger - Dictionnaires & Langues
2 réponses
JulienHch
Messages postés
22
Date d'inscription
mardi 19 février 2019
Statut
Membre
Dernière intervention
10 avril 2019
Modifié le 10 avril 2019 à 08:56
Modifié le 10 avril 2019 à 08:56
Je joins mon code :
dans le module :
Sub click()
Dim i As Integer
i = 1
chemin = "C:\Users\Administrateur\Desktop\Affichage dynamique\PROCEDURE\"
sFichier = Dir(chemin & "*pdf")
While Len(sFichier) > 0:
UserForm1.ListBox1.AddItem sFichier
sFichier = Dir()
Wend
With UserForm1
If GetPageNum(chemin & UserForm1.ListBox1.List(0)) > 1 Then
While i <> GetPageNum(chemin & UserForm1.ListBox1.List(0)):
UserForm1.WebBrowser1.Refresh
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=" & i
.Show vbModeless
i = i + 1
Application.Wait (Now + TimeValue("00:00:05"))
UserForm1.WebBrowser1.Navigate ("about:blank")
Wend
Else
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=1"
.Show vbModeless
End If
End With
End Sub
Function GetPageNum(PDF_File As String)
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
dans le user form :
Private Sub UserForm_Initialize()
ListBox1.Visible = False
TextBox1.Visible = False
End Sub
Private Sub Textbox1_Change()
WebBrowser1.Navigate TextBox1.Text
End Sub
dans le module :
Sub click()
Dim i As Integer
i = 1
chemin = "C:\Users\Administrateur\Desktop\Affichage dynamique\PROCEDURE\"
sFichier = Dir(chemin & "*pdf")
While Len(sFichier) > 0:
UserForm1.ListBox1.AddItem sFichier
sFichier = Dir()
Wend
With UserForm1
If GetPageNum(chemin & UserForm1.ListBox1.List(0)) > 1 Then
While i <> GetPageNum(chemin & UserForm1.ListBox1.List(0)):
UserForm1.WebBrowser1.Refresh
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=" & i
.Show vbModeless
i = i + 1
Application.Wait (Now + TimeValue("00:00:05"))
UserForm1.WebBrowser1.Navigate ("about:blank")
Wend
Else
.TextBox1.Text = chemin & UserForm1.ListBox1.List(0) & "#zoom=80%&page=1"
.Show vbModeless
End If
End With
End Sub
Function GetPageNum(PDF_File As String)
Dim FileNum As Long
Dim strRetVal As String
Dim RegExp
Set RegExp = CreateObject("VBscript.RegExp")
RegExp.Global = True
RegExp.Pattern = "/Type\s*/Page[^s]"
FileNum = FreeFile
Open PDF_File For Binary As #FileNum
strRetVal = Space(LOF(FileNum))
Get #FileNum, , strRetVal
Close #FileNum
GetPageNum = RegExp.Execute(strRetVal).Count
End Function
dans le user form :
Private Sub UserForm_Initialize()
ListBox1.Visible = False
TextBox1.Visible = False
End Sub
Private Sub Textbox1_Change()
WebBrowser1.Navigate TextBox1.Text
End Sub
JulienHch
Messages postés
22
Date d'inscription
mardi 19 février 2019
Statut
Membre
Dernière intervention
10 avril 2019
Modifié le 10 avril 2019 à 08:58
Modifié le 10 avril 2019 à 08:58
j'ai commencé par tester que pour 1 seul fichier excel, quand je test en mode pas à pas ça fonction comme je le souhaite, cependant quand je le laisse tourner automatiquement, le formulaire reste figé sur la première page, et se débloque quand il a fini de traiter toute les pages...
Si vous avez une idée ?
Si vous avez une idée ?