[VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Staple1600

XLDnaute Barbatruc
Bonjour à tous

Le fichier places.sqlite remplace history.dat* entre autres

(Historique de navigation de Firefox 2.xx)

Malheureusement le script Lien supprimé précédemment réalisé par MichelXld suite à la question
que j'avais posé dans ce fil, ne fonctionne plus.

(En tout cas sur mon poste)

J'ai un message d'erreur.
L'entrée dépasse la fin de fichier (erreur 62)

Ma question est donc:

• Comment faire pour importer ce fichier dans Excel avec une macro VBA?

Merci de votre aide.
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Salut Stapple1600 ;)

Après quelques petites recherches par ci par là :D
Grace notamment à tes liens, j'ai trouvé, je pense le code qui va bien ;)

En revanche je ne sais pas si c'est la bonne table que tu souhaites !?

Code:
Option Explicit
' 1) installer le pilote ODBC : [URL]http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe[/URL]
' 2) Ajouter la référence ADO
' 3) avec l'aide du site : [URL="http://www.forensicswiki.org/index.php?title=Mozilla_Firefox_3_History_File_Format"]Mozilla Firefox 3 History File Format - Forensics Wiki[/URL]
Sub ConnexionSQLite()
  Dim mConn As ADODB.Connection
  Dim VPath As String, Base As String, VCon As String
  Dim Rs As New ADODB.Recordset, Tbl As String
  On Error GoTo Erreur_Exit
 
  Set mConn = New ADODB.Connection
  ' Modifier ici le chemin du fichier PLACES.SALITE
  VPath = "C:\Documents and Settings\BrunoM45\Application Data\Mozilla\Firefox\Profiles\xxxxxxxx.default\"
  ' La base
  Base = "places.sqlite"
  ' La chaine de connexion
  VCon = "DRIVER=SQLite3 ODBC Driver;Database=" & VPath & Base & ";LongNames=0;Timeout=1000;NoTXN=0;SyncPragma=NORMAL;StepAPI=0;"
  mConn.Open VCon
  ' La table souhaitée
  Tbl = "moz_places"
  ' Ourvir le recordset de la table
  Rs.Open "SELECT * FROM " & Tbl & ";", mConn
  ' si les enregistrements ont été chargés
  If Not Rs.EOF Then
    ' Inscrire tout le recordset dans la feuille active
    ActiveSheet.Range("A1").CopyFromRecordset Rs
    Cells.EntireColumn.AutoFit
    Range("A1").Select
  End If
  ' Tout fermer avant de quitter la procédure
  Rs.Close
  mConn.Close
  Exit Sub
 
Erreur_Exit:
  MsgBox Err.Description
  Rs.Close
  mConn.Close
End Sub

Voili, voilà

A+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonjour BrunoM45

Merci d'adjoindre tes neurones aux nôtres ;)

De ce que j'ai compris (pour le moment) voila la chaine SQL qui m'intéresse

SELECT url,title FROM moz_places
Donc la table désirée c'est : moz_places

• Donc tu penses qu'il faut absolument installer SQLite3 ODBC Driver?

• Il n'est pas possible d'utiliser les pilotes natifs d'Excel ? (avec MS Query ?)
 
G

Guest

Guest
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

JM,

Je n'arrive pas à obtenir la liste des tables du fichiers que tu as posté 'places.sqlite'.

Ceci dit d'après ce que j'ai compris de la littérature fournie par Bruno, et la descriptions des tables, il te faudrait une requête ressemblant à celle-ci:

exemple donné dans le lien : Mozilla Firefox 3 History File Format - Forensics Wiki

"SELECT moz_places.url, moz_historyvisits.visit_date " & _
"FROM moz_places, moz_historyvisits " & _
"WHERE moz_places.ID = moz_historyvisits.place_id"

En effet tes informations sont réparties en plusieurs tables liée par une relation de un (moz_places) à plusieurs (moz_historyvisits).
donc pour 1 enregistrement d'url dans moz_places on a plusieurs visites dans moz_hitoryvisits.

moz_places va te donner: id, url, title et visit_count
moz_historyvisits va te donner place_id, visit_date
visit_date doit correspondre à toutes les date de visites de l'url.

JM à dit:
Il n'est pas possible d'utiliser les pilotes natifs d'Excel ? (avec MS Query ?)

Chaque systeme de gestion de base de données a ses propres pilotes, avec lesquels il faut faire. L'uniformisation n'est pas pour tout de suite....Hélàs....ou tant mieux.

Bon je dois partir

Alors A+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonjour à tous


J'espère que vous avez plus de succès que moi, car je piétine

Je suis parti dans la direction d'utiliser sqlite3 à partir de VBA

Mais avant même que je comprenne la syntaxe sqlite3, j'ai un problème
pour envoyer des strings dans l'invite de commande MSDOS.

Voila ou j'en suis

Code:
Sub cree_bat()
Open "c:\temp\Ftest.bat" For Output As #1
Print #1, "cd\"
Print #1, "cd c:\sqlite3"
Print #1, "sqlite3 places.sqlite"
Print #1, ".dump txt"
Print #1, ".output test.txt"
Print #1, "select url,title from moz_places;"
Print #1, ".exit"
Close #1
Shell "c:\temp\Ftest.bat", vbNormalFocus
End Sub

Le batch se lance bien mais les instructions ne sont pas exécutés
alors qu'elles fonctionne en mode manuel

BrunoM45: je n'ose pas (encore) installer le driver
http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe.
à cause de cette ligne :
Note that this is in an experimental state
(Etant sous Vista désormais, j'attends de mieux maitriser cet OS pour installer des logiciels,
j'ai seulement installé Office 2000)


Donc je n'ai pas pu tester ta solution
 
Dernière édition:
C

Compte Supprimé 979

Guest
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Salut Staple1600

BrunoM45: je n'ose pas (encore) installer le driver
http://www.ch-werner.de/sqliteodbc/sqliteodbc.exe.
à cause de cette ligne : Citation:
Note that this is in an experimental state
(Etant sous Vista désormais, j'attends de mieux maitriser cet OS pour installer des logiciels,
j'ai seulement installé Office 2000)

Donc je n'ai pas pu tester ta solution

C'est juste un pilote ODBC, y'a rien à craindre !

De plus par mesure de sécurité, tu peux créer un point de restauration, avant d'installer le driver.

A+
 

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonsoir à tous

: BrunoM45
J'ai suivi ton conseil
J'ai installé le driver (avec une appréhension amoindrie par le ton rassurant de ton dernier message :D)
J'ai coché cette référence : adodb.png
Et cela a fonctionné du premier coup

alors pour Môssieur Bruno et grand merci pour ton aide.


• Parallèlement et par curiosité et pour le plaisir
Je tâtonne toujours pour utiliser sqlite3 non plus par un batch MSDOS

Mais en utilisant VBScript+VBA.

: Emérites forumeurs VBAistes
si vous avez d'autres solutions n'hésitez pas à les communiquer


PS:

BrunoM45: je vais essayer en partant de ton code d'autres requêtes
et ne manquerai pas de solliciter ton aide à nouveau. ;)

Bonne fin de journée et bon week-end à tous.
 

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonjour à tous

Un petit up.

Personne pour tenter l'aventure avec une autre méthode?
Petit récapitulatif: 3 solutions fonctionnelles
1) Première solution fonctionne de BrunoM45
Lien supprimé
2) Grâce à Hasco, Lien supprimé avec SendKeys et sqlite3.exe (+ Invite de commande MSDOS)
3) Solution indentique à 2) mais en utilisant un script VBS au lieu d'un fichier batch.

Voyez-vous d'autres méthodes à employer pour importer places.sqlite dans Excel.
 
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonsoir à tous


Petit up de début de soirée.

Bon week-end si vous passez dans ce fil

(Bon week-end aux autres aussi évidemment)

PS
: Vous êtes si peu nombreux sur le forum à utiliser Firefox ? ;)
 
Dernière édition:

MJ13

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Re bonjour Jean-Marie

T'en a pas assez avec 3 méthodes. Quand même Jean-Marie tu abuses un peu non!

EN plus si demain tu n'as plus firefox, il faudra recommencer.
 

Staple1600

XLDnaute Barbatruc
Re : [VBA][Firefox 3] Comment importer places.sqlite dans Excel ?

Bonjour au forum, aux forumeurs qui suivaient ce fil

Je repasse ici pour quelques nouvelles fraiches

(au cas ou certains comme moi parfois s'amusent à utiliser VBA pour tomber dans la redondance logicielle)

Toutes les méthodes décrites dans ce fil fonctionnent , je privéligie quand je veux flatter mon Excel une solution VBA + vbscript + sqlite3.

Sinon en temps normal, j'utilise un utilitaire freeware de nirsoft
(théoriquement sans bestioles inside) qui est plus convivial et avec une UI.

Je n'ai pas poussé le vice à recréer une UI (en utilisant un Userform) ;)

Bon dimanche à tous et à la revoyure (aléatoire ces derniers mois)
 

Discussions similaires

Membres actuellement en ligne

Statistiques des forums

Discussions
312 196
Messages
2 086 100
Membres
103 116
dernier inscrit
kutobi87