Bonjour!
J'ai cherché longtemps dans les forums, et quelques solutions semblaient se rapprocher de mon problème, mais en vain. Mon programme VB doit lire un fichier ".tab" qui est généré par un autre programme. Ce ".tab" a un fileformat UNIX. VB le lit donc par colonne au lieu de le lire ligne par ligne, mais je dois traiter ces données.
Si je l'ouvre et le renomme manuellement, via TextPad, avec un extension ".txt", ça marche puisqu'il le garde en fileformat "PC", mais comment le faire par code? Si je le copie en changeant son extension(.txt,.swx), il reste en UNIX, et VB ne peut toujours pas le lire ligne par ligne. J'ai cherché pour changer le fileformat lors de la copie, mais je n'ai rien trouvé.
J'ai aussi essayé de créer un document "swx" pour ensuite le copier dedans, car tous les ordis sont en Open Office, mais VB bloque me dit qu'il manque un objet à cet endroit;
Voici le code que j'essaie, que j'ai trouvé dans les forums;
Code : Sélectionner tout - Visualiser dans une fenêtre à part Set oDispatcher = oServiceManager.createInstance("com.sun.star.frame. DispatchHelper
Est-ce que quelqu'un pourrait m'aider ou du moins m'orienter svp?
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13 Dim oServiceManager As Object Dim oDispatcher As Object Dim Desktop As Object, Document As Object Dim args() Dim Chemin As String Range("A1:A5").Copy Set oServiceManager = CreateObject("com.sun.star.serviceManager") Set Desktop = oServiceManager.createInstance("com.sun.star.frame.Desktop") Set Document = Desktop.loadComponentFromURL("private:factory/swriter", "_blank", 0, args) Set oDispatcher = oServiceManager.createInstance("com.sun.star.frame. DispatchHelper") oDispatcher.executeDispatch Document.currentController.Frame, ".uno:Paste", "", 0, Array() Chemin = Application.worksheetFunction.Substitute(thisWorkbook.Path, "\", "/")
Merci!![]()
Partager