Fetstil Fetstil Kursiv Understrykning linje färgläggning tabellverk Punktlista Nummerlista Vänster Centrerat högerställt Utfyllt Länk Bild htmlmode
  • Forum & Blog
    • Forum - översikt
      • .Net
        • asp.net generellt
        • c#
        • vb.net
        • f#
        • silverlight
        • microsoft surface
        • visual studio .net
      • databaser
        • sql-server
        • databaser
        • access
        • mysql
      • mjukvara klient
        • datorer och komponenter
        • nätverk, lan/wan
        • operativsystem
        • programvaror
        • säkerhet, inställningar
        • windows server
        • allmänt
        • crystal reports
        • exchange/outlook
        • microsoft office
      • mjukvara server
        • active directory
        • biztalk
        • exchange
        • linux
        • sharepoint
        • webbservers
        • sql server
      • appar (win/mobil)
      • programspråk
        • c++
        • delphi
        • java
        • quick basic
        • visual basic
      • scripting
        • asp 3.0
        • flash actionscript
        • html css
        • javascript
        • php
        • regular expresssion
        • xml
      • spel och grafik
        • DirectX
        • Spel och grafik
      • ledning
        • Arkitektur
        • Systemutveckling
        • krav och test
        • projektledning
        • ledningsfrågor
      • vb-sektioner
        • activeX
        • windows api
        • elektronik
        • internet
        • komponenter
        • nätverk
        • operativsystem
      • övriga forum
        • arbete karriär
        • erbjuda uppdrag och tjänster
        • juridiska frågor
        • köp och sälj
        • matematik och fysik
        • intern information
        • skrivklåda
        • webb-operatörer
    • Posta inlägg i forumet
    • Chatta med andra
  • Konto
    • Medlemssida
    • Byta lösenord
    • Bli bonsumedlem
    • iMail
  • Material
    • Tips & tricks
    • Artiklar
    • Programarkiv
  • JOBB
  • Student
    • Studentlicenser
  • KONTAKT
    • Om pellesoft
    • Grundare
    • Kontakta oss
    • Annonsering
    • Partners
    • Felanmälan
  • Logga in

Hem / Forum översikt / inlägg

Posta nytt inlägg


Problem med att spara textfil i Excel

Postades av 2005-01-17 11:53:55 - Jesper Liedberg, i forum microsoft office, Tråden har 3 Kommentarer och lästs av 1296 personer

Hej

Jag försöker spara en semikolonseparerad textfil som jag importerat till excel.
I excel ska man kunna ta bort och lägga till rader för att sedan spara till en ny semikolonseparerad textfil.
När filen är importerad och man provar spara ser den ok ut, se nedan:

23568;000;9999999999;OLLE BERG ;0258741;ALLT OK; ;

När jag sedan skriver in en ny rad och sparar får jag följande utseende på den raden:

23568;000;9999999999;OLLE BERG;0258741;ALLT OK;;

Hur får man formatteringen som på den övre raden när man sparar.

Tacksam för svar.

Den kod jag har ser ut så här.

<Code>
Private Sub saveB_Click()

Dim strFilename As String
Dim sRow As String
Dim nCol As Long
Dim nRow As Long
Dim nFile As Integer
Dim fName As String
Dim sFileName As Variant
Dim tempStr As String
Dim newStr2 As String
Dim newStr3 As String
Dim newStr4 As String
Dim Lastrow As Integer
Const DELIM As String = ";"

Call TaBortTommaRader
Lastrow = Cells(Rows.Count, "A").End(xlUp).Row

sFileName = Application.GetSaveAsFilename( _
fileFilter:="Excel Files (*.xls), *.xls")

If sFileName = False Then Exit Sub
newStr = InStrRev(sFileName, "\")
newStr2 = Mid(sFileName, newStr + 1)
newStr3 = InStrRev(newStr2, ".")
newStr4 = Left(newStr2, newStr3 - 1)

Application.DisplayAlerts = False
ThisWorkbook.SaveAs sFileName
Application.DisplayAlerts = True

fName = newStr4 & ".txt"
nFile = FreeFile
Open ActiveWorkbook.Path & "\" & fName For Output As #nFile

With ActiveSheet.UsedRange
For nRow = 2 To Lastrow
sRow = ""
For nCol = 1 To 8
If sRow <> "" Then sRow = sRow & DELIM
sRow = sRow & CStr(.Cells(nRow, nCol))
Next nCol
Print #nFile, sRow
Next nRow
End With
Close #nFile
End Sub
</Code>


Svara

Sv: Problem med att spara textfil i Excel

Postades av 2005-01-19 12:33:15 - Emma Magnusson

Om du vet vad du har för avdelare så kan du köra en separation på dem, varför behöver du spara ner exakt hur långa fält du har?

/Emma


Svara

Sv: Problem med att spara textfil i Excel

Postades av 2005-01-20 20:36:18 - Ola Lindfeldt

Du får väl "padda" värdet med space. Lämpligen har du en function som fixar det:



Private Function LeftPadCell(cellValue As String, n As Long) As String
    LeftPadCell = Space(n)
    Mid(LeftPadCell, 1, n) = cellValue
End Function




         resultString = LeftPadCell("OLLE", 30)








Svara

Sv:Problem med att spara textfil i Excel

Postades av 2005-01-27 12:50:46 - Jesper Liedberg

Hej och tackar för svaren.

Lyckades lösa detta med denna funktion.

<Code>
Sub ExportRangeAsFixedText(SourceWB As String, _
SourceWS As String, SourceAddress As String, _
TargetFile As String, LeftAlign As Boolean, _
SaveValues As Boolean, _
AppendToFile As Boolean)

Dim SourceRange As Range
Dim A As Integer
Dim aCount As Integer
Dim ColWidth As Integer
Dim eCount As Long
Dim r As Long
Dim c As Integer
Dim totr As Long
Dim pror As Long
Dim fn As Integer
Dim LineString As String
Dim tLine As String

eCount = 0
Set SourceRange = Range(SourceAddress)

fn = FreeFile
Open TargetFile For Output As #fn
On Error GoTo 0
' Kollar antal rader
totr = 0
For A = 1 To SourceRange.Areas.Count
totr = totr + SourceRange.Areas(A).Rows.Count
Next A
' Skriver textfil med fixerad längd
pror = 0
For A = 1 To SourceRange.Areas.Count
For r = 1 To SourceRange.Areas(A).Rows.Count
LineString = ""
For c = 1 To SourceRange.Areas(A).Columns.Count
ColWidth = CInt(SourceRange.Areas(A).Columns(c).ColumnWidth)
tLine = ""
On Error Resume Next
If SaveValues Then
tLine = SourceRange.Areas(A).Cells(r, c).Value
Else

End If
On Error GoTo 0
' Skapar sträng med fixerad storlek
If Len(tLine) > ColWidth Then
eCount = eCount + 1
Else
If LeftAlign Then
tLine = tLine & Space(ColWidth - Len(tLine)) & ";"
Else
tLine = Space(ColWidth - Len(tLine)) & tLine
End If
End If
LineString = LineString & tLine
Next c

If Len(LineString) > 1 Then LineString = Left(LineString, Len(LineString) - 1)
If LineString = "" Then
Print #fn,
Else
Print #fn, LineString
End If
Next r
Next A
Close #fn
End Sub
</Code>


Svara

Nyligen

  • 08:28 Butiksskyltar: Hur upplever utbude
  • 22:31 Slappna av
  • 19:55 kick-off med fokus på hälsa?
  • 19:53 kick-off med fokus på hälsa?
  • 16:24 Föreslå en skönhetsklinik online
  • 16:23 Föreslå en skönhetsklinik online
  • 18:42 Hvor finder man håndlavede lamper
  • 18:41 Hvor finder man håndlavede lamper

Sidor

  • Hem
  • Bli bonusmedlem
  • Läs artiklar
  • Chatta med andra
  • Sök och erbjud jobb
  • Kontakta oss
  • Studentlicenser
  • Skriv en artikel

Statistik

Antal besökare:
Antal medlemmar:
Antal inlägg:
Online:
På chatten:
4 570 768
27 960
271 761
512
0

Kontakta oss

Frågor runt konsultation, rådgivning, uppdrag, rekrytering, annonsering och övriga ärenden. Ring: 0730-88 22 24 | pelle@pellesoft.se

© 1986-2013 PelleSoft AB. Last Build 4.1.7169.18070 (2019-08-18 10:02:21) 4.0.30319.42000
  • Om
  • Kontakta
  • Regler
  • Cookies