Lot de convertir Excel en texte délimité par des fichiers

Salut, je suis confronté à un problème sur la façon de traiter avec la transformation de feuilles de calcul Excel et des fichiers txt.

Ce que je veux faire est de créer une Macro qui peut prendre toutes les xls fichiers dans un dossier et de les convertir en fichiers txt.

Le code actuellement en train de travailler sur

Sub Combined()

  Application.DisplayAlerts = False

  Const fPath As String = "C:\Users\A9993846\Desktop\"
  Dim sh As Worksheet
  Dim sName As String
  Dim inputString As String

  With Application
    .Calculation = xlCalculationManual
    .EnableEvents = False
    .ScreenUpdating = False
  End With

  sName = Dir(fPath & "*.xls*")

  Do Until sName = ""
    With GetObject(fPath & sName)
      For Each sh In .Worksheets
        With sh
          .SaveAs Replace(sName, ".xls*", ".txt"), 42 'UPDATE:
        End With
      Next sh
      .Close True
    End With
    sName = Dir
  Loop

  With Application
    .Calculation = xlAutomatic
    .EnableEvents = True
    .ScreenUpdating = True
  End With
End Sub

Mais Il ne fonctionne pas comme prévu, j'ai 0 de connaissances sur VB. Quiconque est prêt à donner un coup de main?

  • Exactement comment est-il "ne fonctionne pas comme prévu"? Quels résultats obtenez-vous, et comment diffèrent-ils les résultats escomptés?
  • L'erreur, la ligne .SaveAs Remplacer(sName, ".xls*", ".txt"), 42 'mise à JOUR: sont à l'origine de l'erreur de l'erreur d'Exécution '1004'. Après le remplacement de sh.SaveAs ePath & sName + sh.Nom + ".txt", xlTextWindows, tout fonctionne bien. Mais vraiment apperciate pour votre aide!
  • BTW ePath est le nouveau chemin d'accès où je veux placer les fichiers définis comme Const ePath as String = "C:\Users\A9993846\Desktop\Test\"
  • ajouté le code pour faire le travail pour vous. Liées à 1004 votre chemin de l'info, c'est probablement faux, et c'est pourquoi .SaveAs ne fonctionne pas. Si vous souhaitez conserver votre code and go "à votre façon" essayez de le remplacer .SaveAs avec MsgBox pour voir si le chemin d'accès de l'info est correcte (il ne sera pas 🙂
InformationsquelleAutor He Li | 2013-06-17