Comment enregistrer automatiquement les pièces jointes compressées, décompresser en csv et convertir en graphiques?


0

Je travaille chez Van 't Hek, une entreprise néerlandaise spécialisée dans toutes sortes de travaux de fondation (pieux forés / préfabriqués, palplanches, etc.). En réalité, je suis ingénieur autocad, mais je possède plusieurs expériences de script en langage informatique (html, java et lua).

Le problème:

  • Nos auburing grues ont un IPC avec gprs-module pour envoyer les données de production de pieux au format zip à notre adresse email spécifiée. Le grutier doit saisir le numéro de projet et le numéro de pile, l'IPC ajoute derrière le numéro de projet un numéro incrémenté pour afficher l'ordre de production. Le fichier zip ressemble donc à:

16000_1_1.zip (projet # _incrémentant # _pile #)

  • Auparavant, mes collègues et moi-même devions enregistrer manuellement les pièces jointes dans le bon dossier. Le courrier est l'identifiant de la grue et l'objet est le suivant: "Pièces jointes: 16000_1_1.zip"

    Nous utilisons actuellement un petit programme appelé Outlook SaveAttachment pour faciliter la recherche (envoyer depuis / date / numéro de projet) et stocker les fichiers au bon emplacement. Voici un exemple où les enregistrer:

K: \ 3 Projets \ 16000-16050 \ 16000 Emplacement du projet - Nom du projet, Entreprise de construction \ 06 Données de production

Notez que le dossier 06 Données de production doit parfois être créé si rien n’est enregistré auparavant. Toutes les autres parties du chemin sont variables et la seule référence est le numéro de projet (c'est-à-dire 16 000).

  • Ensuite, nous décompressons le fichier zip en CSV avec 7zip.
  • Nous avons un fichier Excel du fabricant de la grue pour importer une sélection de fichiers et les imprimer avec l’imprimante standard (pdf24) dans ce cas. Ceci sort tous les fichiers dans un dossier spécifique sur K: et nous déplaçons manuellement les fichiers dans le bon.

Vous pouvez tous imaginer que ce processus devient pénible, surtout si l’on considère que nous avons 10 grues augurant au moins une douzaine de piles chaque jour ouvrable.

J'ai pu obtenir les fichiers dans un dossier K: drive avec une règle et un script, mais pas pour créer un script de recherche / comparaison permettant de le placer dans le bon dossier ni pour en automatiser l'ouverture, pour ouvrir le fichier Excelsheet et traiter le fichier ( s). Je bidouillais avec un programme appelé DirListing pour analyser la structure de dossiers et la sortir dans un fichier (txt / csv).

Cela m'aiderait beaucoup de sauvegarder automatiquement les fichiers dans le dossier de projet approprié et, éventuellement, d'automatiser l'importation dans Excel et de générer des fichiers PDF dans le même dossier que les fichiers csv.

Quelqu'un a des idées pour y arriver? Peut-être une sorte de fichier de commandes ou une sorte de solution PowerShell (que je ne connais PAS encore)?

Mon code:

Public Sub SaveToDisk(itm As Outlook.MailItem) 
  Dim objAtt As Outlook.Attachment 
  Dim saveFolder As String 
  Dim dateFormat dateFormat = Format(Now, "yyyy-mm-dd") 
  'Change this path to the your folder location 
  saveFolder = "c:\temp\" 
  objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls" 
  Set objAtt = Nothing 
End Sub

Bienvenue sur Super User! Veuillez noter que Super User n'est pas un service gratuit de rédaction de scripts / codes. Si vous nous dites ce que vous avez essayé jusqu'à présent (inclure les scripts / code que vous utilisez déjà) et où vous êtes bloqué, nous pouvons essayer de vous aider avec des problèmes spécifiques. Vous devriez également lire Comment poser une bonne question? .
DavidPostill

Public Sub SaveToDisk(itm As Outlook.MailItem) Dim objAtt As Outlook.Attachment Dim saveFolder As String Dim dateFormat dateFormat = Format (maintenant, "aaaa-mm-jj") objAtt.SaveAsFile saveFolder & "\" & dateFormat & ".xls" Définit objAtt = Aucune fin
Ted Hoffer

Ne mettez pas de code dans les commentaires (il est illisible), modifiez plutôt votre question. J'ai fait ça pour toi cette fois. S'il vous plaît vérifier que je l'ai fait correctement.
DavidPostill

Il y a beaucoup trop d'éditoriaux dans ceci pour donner plus de sens, mais: vos dossiers de destination semblent avoir 2 ou 3 niveaux de granularité de plus que votre schéma de nommage des pièces jointes, donc si vous voulez automatiser cela, vous avez besoin du nom de fichier. pour contenir toutes les informations nécessaires, ou vous avez besoin d’une base de données pouvant: 1) identifier les relations entre l’opérateur et le dossier de destination; et 2) utiliser cette base de données pour combler les lacunes dans les informations (éventuellement via le nom de l'opérateur ou l'adresse électronique source).
Yorik
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.