bobarman
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention22 juin 2011
-
17 juin 2011 à 15:32
bobarman
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention22 juin 2011
-
22 juin 2011 à 12:16
Bonjour,
Le programme que je développe, utilise deux fichiers Excel. J'ai donc créé un répertoire "ExcelFile" dans le projet dans l'explorateur de solution.
Après je veux les ouvrir, il me faut le chemin d’accès et j'ai naïvement cru que ceci marcherait:
Mais quand il compile ce CO###D ne copie pas le répertoire pour le mettre avec l'application. Par contre si je copie ExcelFile dans le répertoire Debug, ça marche.
Qu'est ce que je rate pour qu'il fasse tout, tout seul?
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 22 juin 2011 à 11:59
Clément,
Voici le code :
------------------
Option Explicit On
Public Class Form1
Sub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles MyBase.Load
Dim existe As Boolean = System.IO.File.Exists(My.Application.Info.DirectoryPath & "\nouveau.xls")
If existe = False Then System.IO.File.WriteAllBytes(My.Application.Info.DirectoryPath & "\nouveau.xls", My.Resources.nouveau)
End Sub
End Class
----------------
En mode debug c'est dans BIN, une fois installé ce sera dans le répertoire de l'exe du programme, attention, les deux lignes de code sont longues, ne les coupe pas.
bobarman
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention22 juin 20111 21 juin 2011 à 11:51
Quand tu dis ajouter le répertoire à la distribution, tu entends le faire après avoir installer le programme, ou un truc dans les propriétés du projet avant la publication?
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 21 juin 2011 à 14:14
Bonjour,
En réponse et comme tu dis :
Un truc dans les propriétés du projet avant la publication.
Le plus simple pour toi sera de mettre les fichiers en ressources, ainsi ils seront distribués, ensuite à chaque lancement tu testes leur pésence, s'ils existent : tu passe à la suite du code, et s'ils n'existent pas tu les copies dans le répertoire courant de l'application (quand tout sera installé ça marchera ainsi).
Mais... en mode debug, c'est dans le répertoire bin par défaut que tout se passe, mais ensuite quand tu en auras fait une application installée tout se passera, enfin, pourra se passer dans le répertoire de ton exe.
Pour mettre en ressources, tu ouvres l'explorateur de solutions, tu double-cliques sur "my project", ce qui va t'ouvrir une interface, tu cliques sur l'onglet "ressources", puis tu cliques en haut en déroulant le combo sur "ajouter une ressource" puis sur "ajouter un fichier existant", un explorateur va s'ouvrir, tu lui indiques tes deux fichiers et tu valides, puis tu enregistre dans vbNet (enregistrer tout), puis tu ferme linterface, désormais tu pourras t'adresser à tes fichiers ressource depui le code, les sortir des ressources, il seront automatiquement empaquetés avec ton installation sans rien faire d'autre...
Si tu ne sais pas écrire le code pour gérer ensuite, tu me le dis, je te l'écrirais, tu me donneras le nom de tes fichiers seulement (excel).
Faudrait aussi me dire ce que tu veux ensuite faire de ces fichiers, est-ce que tu a pévu décrire dedans ou est-ce seulement de la lecture/affichage, et pourquoi as-tu pris des fichiers excel, ils continnent quoi, de quelle taille ?
Réponds bien à tout, cordialement.
Joe.
Vous n’avez pas trouvé la réponse que vous recherchez ?
bobarman
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention22 juin 20111 22 juin 2011 à 09:01
En fait il n'y as pas grand chose, si j'utilise des fichier excel c'est pour me facilité l'impression (je ne sais pas imprimer en VB) donc, un classeur avec 8 feuilles car en-tête et pieds de pages différents.
Dans le fichier il n'y a quasiment rien du tout. J'ai fais la mise en page, je vais la remplir par le code et je laisse l'utilisateur imprimer.
le fichier s'appelle New.xls, je l'ai ajouté dans les ressources, il apparait comme "_New"
Après, ce que je voudrait, c'est ouvrir excel un peu comme ça:
Dim excel As New Microsoft.Office.Interop.Excel.Application
excel.Workbooks.Open(" Le chemin d’accès au fichier ressource ")
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 22 juin 2011 à 09:53
Bonjour,
Alors il faut renommer ta ressource car tu lui a donné le nom d'un mot clef "new", suffit de lappeler "nouveau" par exemple (tu supprimee tout code qui y ferait référence dans ce que tu as écrit, puis tu supprime la ressource via la méthode indiqué pour l'y mettre, tu enregistre bien tout, ensuite tu renomme ton new, et tu recommence), c'est pas que ça ne marchera pas mais faut éviter ça pour des raisons de confusion, mais tu ne savais pas, normal.
Et le second fichier lui, il sert à quoi et se nomme comment (je te demande ça pour écrire le code) ?
Donc :
- Me dire comment se nomme tes deux fichiers dont l'un renommé (_new) ?
- Tu confirmes que donc il n'y aura rien à écrire dans ces fichirs excel, ce qui implique que tu les berrouille en écriture (read only) ?
Dès que j'aurais, je técris le code pour les sortir des ressources après installation, et les laisser pésents en permanence.
ehjoe
Messages postés728Date d'inscriptionsamedi 4 avril 2009StatutMembreDernière intervention30 mars 20144 22 juin 2011 à 12:07
Clément, suite, j'oubliais :
Ce n'est pas très catholique ce que tu fais car normalement en programmation on doit tout faire avec le code, si par exemple la personne n'a pas de quoi ouvrir excel ça va planter, en faisant ça c'est rendre ton programme moins autonome.
Si ça marche (ça devrait), et si tu veux ensuite, tu me passes ton fichier excel, on va essayer de mettre ses composants dans le code en ressources et de l'imprimer depuis le programme, ainsi il ne sera plus question de fichier !
Faut pas à mon sens rendre ton programmes plus dépendant qu'il ne doit, y en a qui saute la gestion de l'impression, comme toi en imprimant dans Word, d'autres qui sautent la gestion des fichirs en utilisant une base de données, en définitives ils ne savent pas faire grand chose et utilisent des artifices de type vbA et non vbNet, où normalement tout doit être en code et sortir du programme sans aucune autre dépendance de logiciels... c'est la différence ente le paramétrage vbA et la programmation, ici vbNet, on doit savoir gérer les fichier avec le code et aussi l'impression
bobarman
Messages postés29Date d'inscriptionmardi 27 avril 2004StatutMembreDernière intervention22 juin 20111 22 juin 2011 à 12:16
Merci pour ta proposition mais en fait Excel a l'avantage que l'utilisateur pourra changer 2/3 trucs facilement et les changements si je veux inclure ces changements dans mon code ca me prendra trop de temps par rapport à ma deadline.
donc je vais traficoter comme ça, c'est un bon compromis