Avatar billede splokit Nybegynder
08. november 2005 - 20:05 Der er 12 kommentarer og
1 løsning

Macro/vb til .txt!?

Kan man tage nogle celler eks "A1:A20" og gemme den i et .txt dokument!?
Avatar billede oyejo Nybegynder
09. november 2005 - 08:07 #1
Sub LagreSomTekstfil()
  Dim filnavn As String
  Dim rngCopyRange As Range
  Set rngCopyRange = ThisWorkbook.Sheets(1).Range("A1:A20")
  filnavn = ThisWorkbook.Sheets(1).Cells(2, 2).Value
 
  With Workbooks.Add
    With Sheets(1)
      .Range("A1:A20").Value = rngCopyRange.Value
      ActiveWorkbook.SaveAs Filename:="C:\NavnetPÅDinMappe\" & filnavn & ".txt", _
      FileFormat:=xlText, CreateBackup:=False
    End With
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
  End With
End Sub
Avatar billede oyejo Nybegynder
09. november 2005 - 08:10 #2
denne koden forutsetter at du skriver inn navnet på teksfilen,
i samme ark som du har data
for eksempel hvis du har skrevet filnavnet i "B2" ( celle(2,2) )
filnavn = ThisWorkbook.Sheets(1).Cells(2, 2).Value
du må også skrive inn navnet på din mappe her:
ActiveWorkbook.SaveAs Filename:="C:\NavnetPÅDinMappe\" &
Avatar billede splokit Nybegynder
09. november 2005 - 13:44 #3
Det virker... Kan man gøre at den skriver Lager +filnavn = ThisWorkbook.Sheets(1).Cells(2, 2).Value

Så det kommer til at se sådan her ud "Lager Filnavn.txt
Avatar billede splokit Nybegynder
09. november 2005 - 13:47 #4
Og hvis det fil navn som er i B2 er der som en .txt kan man ikke gøre at den skriver Lager2 3 4 5 6 7 8 9 osv for ikke at over skrive!?
Avatar billede oyejo Nybegynder
09. november 2005 - 14:14 #5
hvis du har win2000 eller senere,
kan vi finne en løsning der filnavnet genereres automatisk.
feks lager1, lager2 koden sjekker hvilke filer som ligger i mappen fra før.
Så legger det til første ledige tall
Avatar billede splokit Nybegynder
09. november 2005 - 14:19 #6
har 2000 og xp... og excel xp og 2003
Avatar billede splokit Nybegynder
09. november 2005 - 14:21 #7
Men hvis den bare skriver lager + Værdien i B2, Hvis den fil er der op forhånd skal den skrive Lager NR B2.txt el. Lager B2 Nr.txt
Avatar billede oyejo Nybegynder
09. november 2005 - 15:31 #8
' Denne krever at du i menyen går inn i Tools-> References..
' krysset av for  Microsoft Scripting Runtime
' husk også å skrive inn hele navnet på din mappe

Sub LagreSomTekstfil()
 
  Dim fso As FileSystemObject
  Dim fsoFld As folder
  Dim fsoFil As File
 
  Dim filnavn As String
  Dim rngCopyRange As Range
  Dim n As Variant
  Dim s As String
  s = ""
  Set rngCopyRange = ThisWorkbook.Sheets(1).Range("A1:A20")
  filnavn = "Lager Nr " & ThisWorkbook.Sheets(1).Cells(2, 2).Value & ".txt"
 
  Set fso = CreateObject("Scripting.FileSystemObject")
  Set fsoFld = fso.GetFolder("C:\SKRIV NAVNET PÅ DIN MAPPE HER\")
 
  If fso.FileExists(fsoFld & "\" & filnavn) Then
    n = 1
    Do While fso.FileExists(fsoFld & "\" & Left( _
      filnavn, Len(filnavn) - 4) & " " & n & ".txt")
      n = n + 1
    Loop
    s = " "
  End If
  filnavn = Left(filnavn, Len(filnavn) - 4) & s & n & ".txt"
 
  With Workbooks.Add
    With Sheets(1)
      .Range("A1:A20").Value = rngCopyRange.Value
      ActiveWorkbook.SaveAs Filename:=fsoFld & "\" & filnavn, FileFormat:=xlText
    End With
    Application.DisplayAlerts = False
    .Close
    Application.DisplayAlerts = True
  End With
 
  Set fso = Nothing
  Set fsoFld = Nothing
End Sub
Avatar billede splokit Nybegynder
09. november 2005 - 15:50 #9
laver fejl 400. ellers virker den laver filen men dør lige efter med en fejl popup 400 !?
Avatar billede splokit Nybegynder
09. november 2005 - 15:55 #10
Jo den kunne bare ikke være på "C.\" Skulle være i en mappe... :D lækkert
kom med et svar
Avatar billede oyejo Nybegynder
09. november 2005 - 15:56 #11
har den også laget tekstfilen?
Avatar billede oyejo Nybegynder
09. november 2005 - 15:58 #12
:o)
Avatar billede splokit Nybegynder
09. november 2005 - 16:06 #13
Jep den køre som min tanke ville have det... :D
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester