Access et envoi fichier KML automatique google earth

Résolu
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 - 10 avril 2024 à 12:46
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 - 17 avril 2024 à 14:52

Bonjour à tous,

Je viens vers vous car je ne trouve pas de solutions malgré les nombreuses recherches sur le net.

Ci-dessous un programme qui me permettait d'ouvrir google earth pro en local sur mon pc et envoyer directement mon fichier kml, malheureusement la base doit être installée sur un serveur et du coup celui ci ne fonctionne plus et bloque sur le chemin de google earth pro, alors j'ai essayé de faire la même chose avec google earth en ligne cela m'ouvre bien le site mais n'importe pas le fichier.

Merci d'avance pour vos suggestions et commentaires.

Private Sub GE_Click()
Dim rst As DAO.Recordset
Dim db As DAO.Database
Dim start_path As String
Dim fs As Scripting.FileSystemObject, f As Scripting.TextStream
Const ForReading = 1, ForWriting = 2, ForAppending = 3
Set fs = CreateObject("Scripting.FileSystemObject")
'GEPath = "C:\Program Files\Google\Google Earth Pro\client\googleearth.exe"
Dim URL$, ChromePath$, Wsh
'On lance Google Drive
Set Wsh = CreateObject("wscript.shell")
URL = "https://earth.google.com/"
 ChromePath = """C:\Program Files\Google\Chrome\Application\chrome.exe"""
 ' Shell (ChromePath & " -url " & URL)
'Ouvrir la table LatLong
start_path = CurrentProject.Path & "\" & Me.Annee & "\" & Me.NOAffaire & "\" & "KML" & Me.NOAffaire & ".kml"
'start_path = Replace(start_path, " \ ", "") & “KML.kml”

Set db = CurrentDb
Set rst = db.OpenRecordset("SELECT VuePhoto.Ech,VuePhoto.longitude,VuePhoto.Latitude FROM VuePhoto WHERE VuePhoto.NOInfo=EVAL('Forms.Affaire.NUME');", dbOpenSnapshot)
'Set rst = db.OpenRecordset("LatLong") 'ouvrir la table

' Parcourir les enregistrements
If rst.EOF Or rst.BOF = True Then
MsgBox "Aucune donnée"
rst.Close
Set rst = Nothing
Exit Sub
End If

rst.MoveFirst
Set f = fs.OpenTextFile(start_path, 2, True)
' Ecrire dans le fichier
f.Write "<kml xmlns=" & Chr(34) & "http://earth.google.com/kml/2.0" & Chr(34) & " > " & vbCrLf
f.Write "<Document>" & vbCrLf

Do While Not rst.EOF
f.Write " <Placemark><name>" & rst!Ech & "</name><Point><coordinates>" & rst!Longitude & "," & rst!Latitude & "</coordinates></Point></Placemark>" & vbCrLf
rst.MoveNext
Loop

' Fin du document KML
f.Write "</Document></kml>" & vbCrLf

' Nettoyage
rst.Close
Set rst = Nothing
f.Close

  Shell (ChromePath & " -url " & URL & " " & start_path)
'Shell (GEPath & " " & start_path)
 
End Sub
A voir également:

8 réponses

yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
10 avril 2024 à 14:21

bonjour,

Si je comprends bien, tu te demandes comment envoyer un fichier kml à google earth en ligne.

Sais-tu comment le faire à la main, sans VBA?

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
10 avril 2024 à 14:28

Bonjour,

Oui importer pas de souci et il fonctionne trés bien, je veux juste automatiser le processus, cela fonctionnait trés bien avec google earth pro sur mon pc, mais comme maintenant sur un serveur cela ne fonctionne plus..

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
10 avril 2024 à 16:00

Si tu décrivais comment le faire à partir d'un navigateur, nous pourrions peut-être te suggérer comment l'automatiser.

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
11 avril 2024 à 09:43

Bonjour,

Oui j'ai regardé aussi le procédé dés que la page est ouverte Google earth, il faut faire importer (Ctrl I) et une fenêtre s'ouvre pour aller chercher le fichier KML.

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
11 avril 2024 à 11:43

Il me semble que "google earth en ligne" ne permet pas d'automatiser cela, sauf via l'interface utilisateur.

Tu pourrais donc essayer, en VBA, d'activer la fénêtre du navigateur, et ensuite, avec sendkeys(), de lui envoyer ce que tu taperais au clavier.

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
11 avril 2024 à 14:18

Re Bonjour,

Oui j'ai essayé en ajoutant :

Pause (10) ' attendre le chargement

'SendKeys "^I"

Mais il m'ouvre tout autre chose sur le site

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
11 avril 2024 à 14:39

Pourquoi i majuscule?

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
12 avril 2024 à 10:16

Bonjour,

J'ai essayé aussi en mettant ^i et rien ne se passe..

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
12 avril 2024 à 11:03

Re Bonjour,

En fait le sendKey s'actionne sur google chrome et non pas google earth ce qui explique que cela ne foncitonne pas, comment puis je faire pour selectionner la page en question ?

Merci encore pour votre aide.

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
Modifié le 12 avril 2024 à 18:57

La page de google earth ne se trouve-t-elle pas dans google chrome?  Une autre page est active dans le navigateur?

N'hésite pas à partager ton code adapté!

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
13 avril 2024 à 07:41

En effet, je constate, comme toi, que chrome "intercepte" ce qu'on envoie par sendkeys.  Je n'ai pas trouvé comment éviter cela.

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
17 avril 2024 à 09:05

Bonjour,

Désolée pour la réponse tardive, j'étais en déplacement..

Donc je suis coincée.. savez vous si on peut installer google earth pro sur un serveur, j'ai cherché et je n'ai pas trouvé de réponse franche à ce sujet..

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
17 avril 2024 à 09:56

Comment la base sera-t-elle utilisée sur le serveur?

0
alea83500 Messages postés 18 Date d'inscription vendredi 24 novembre 2023 Statut Membre Dernière intervention 17 avril 2024 1
17 avril 2024 à 14:28

Bonjour,

Et bien incroyable parce que l'ouverture de GE pro s'ouvre bien chez la personne qui doit utiliser la base, et moi ca ne fonctionne pas mais c moins grave.

Merci à vous d'avoir pris du temps pour essayer de m'aider, car on se sent seul dans ces cas la..

Bonne journée et encore merci

0
yg_be Messages postés 22905 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 20 juin 2024 1 480
17 avril 2024 à 14:52

Tant mieux!  Tu pourras marquer la discussion comme résolue?

0