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


Hämta info från flera textfiler till Excelark

Postades av 2001-08-05 18:47:00 - Raderat konto, i forum visual basic - allmänt, Tråden har 1 Kommentarer och lästs av 513 personer

Hej,

Jag har gjort ett formulär på en hemsida med frågor som några personer skall besvara. När de har fyllt i alla frågorna och trycker på sändknappen genereras ett meil till Outlook. Till hit är allt frid och fröjd.

Problemet börjar när jag skall hämta upp dessa textfiler för att sammanställa dem i ett excelark. Jag har sparat textfilerna manuellt i en katalog. Tex. pers1.txt, pers2.txt osv.
Jag hade tänkt mig att alla svaren skulle sammanställas i ett Excelark där första kolumnen innehåller frågorna(x antal stycken) och kolumn B innehåller svar från pers1, kolumn C svar från pers2 osv. Eftersom alla svaren i Outlook innehåller två kolumner, den första med frågorna och den andra med svaren, hade jag tänkt att jag skulle filtrera ut kolumnen med frågorna i Excel. Jag hade tänkt att ett och samma macro skulle hantera detta. Jag har börjat med att testa med tre personers svar, men koden skall kunna hantera flera svar, man vet ju inte hur många personer som svarar.....

Eftersom VB var helt nytt för mig så sökte jag på nätet och fick tag i en kod som hanterade textfiler och som jag fick göra om lite.
Problemet är att koden fungerar till viss del, den hämtar en textfil, men sen är det stopp. Den filtrerar ut kolumnsvaren ifrån textfilerna men det går inte att repetera textkodningen. Jag har försökt med en for-loop för att placera svaren i kolumnerna from B osv, då endast den sista medtagna filens svar placeras i Excelarket. Programmet hoppar helt enkelt över den första och andra text filerna. Varför? Jag förstår inte koden riktigt än. Vad är det som är felaktigt? Snälla hjälp mig innan jag blir tokig!!!

Jag skickar med koden får ni titta på den.

Eva


Sub Import_A_File()
Dim destCell As Range, fType As String
Dim uRange As Range, lastCell As Range
Dim rowsAvailable As Long, colsAvailable As Integer

'get the destination cell
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub
On Error GoTo doExit
Set destCell = Range("A1")
On Error GoTo 0

'get available rows and columns before copy
With ActiveSheet.Cells
rowsAvailable = Cells(.Count).Row - destCell.Row + 1
colsAvailable = Cells(.Count).Column - destCell.Column + 1
End With

'get the file to open
Dim fNameAndPath As Variant
Application.ScreenUpdating = False

For Kund = 1 To 3
Select Case Kund

Case 1
fNameAndPath = "c:\windows\skrivbord\svar\pers1.txt"
Set destCell = Range("B1")

Case 2
fNameAndPath = "c:\windows\skrivbord\svar\pers2.txt"
Set destCell = Range("C1")

Case 3
fNameAndPath = "c:\windows\skrivbord\svar\pers3.txt"
Set destCell = Range("D1")
End Select

Next Kund

If fNameAndPath = False Then Exit Sub


'make certain it is not a workbook
fType = Right(UCase(fNameAndPath), 3)
If fType Like "XL*" Or fType Like "WK*" Then
MsgBox "Do not select Excel or Lotus files"
Exit Sub
End If

'open the file
On Error GoTo errorOpen
Workbooks.Open fNameAndPath
On Error GoTo 0

'copy data to destination
With ActiveSheet.UsedRange
Set uRange = Range("B1", .Cells(.Count))
Set uRange = Range("C1", .Cells(.Count))
Set uRange = Range("D1", .Cells(.Count))

'make certain there are enough rows and columns first
If uRange.Rows.Count > rowsAvailable Then
MsgBox "You need " & uRange.Rows.Count _
& " rows and there are only " _
& rowsAvailable & " rows available"
ActiveWorkbook.Close False
Exit Sub
ElseIf uRange.Columns.Count > colsAvailable Then
MsgBox "You need " & uRange.Columns.Count _
& " columns and there are only " _
& colsAvailable & " columns available"
ActiveWorkbook.Close False
Exit Sub
End If

'copy imported data to destination
uRange.Copy destCell
ActiveWorkbook.Close False
End With

'clear the clipboard
Application.CutCopyMode = False
Exit Sub
doExit:

'handles cancel selection in input box
Exit Sub
errorOpen:

'handles failure to open file
MsgBox "The file could not be opened."

End Sub







Svara

Sv: Hämta info från flera textfiler till Excelark

Postades av 2001-08-05 21:03:00 - Andreas Hillqvist

Kanske detta kan vara till nån hjälp?

Public Sub Test2()
Import_A_File "c:\windows\skrivbord\svar\pers1.txt", "B1"
Import_A_File "c:\windows\skrivbord\svar\pers2.txt", "C1"
Import_A_File "c:\windows\skrivbord\svar\pers3.txt", "D1"
End Sub



Sub Import_A_File(FileName As String, RangeName As String)
Dim destCell As Range
Dim fType As String
Dim uRange As Range
Dim lastCell As Range
Dim rowsAvailable As Long
Dim colsAvailable As Long
Dim TempBook As Workbook

'get the destination cell
If TypeName(ActiveSheet) <> "Worksheet" Then Exit Sub

On Error GoTo doExit
Set destCell = Range(RangeName)
On Error GoTo 0

'get available rows and columns before copy
With ActiveSheet.Cells
rowsAvailable = Cells(.Count).Row - destCell.Row + 1
colsAvailable = Cells(.Count).Column - destCell.Column + 1
End With

'get the file to open

'make certain it is not a workbook
fType = Right(UCase(fNameAndPath), 3)
If fType Like "XL*" Or fType Like "WK*" Then
MsgBox "Do not select Excel or Lotus files"
Exit Sub
End If

'open the file
On Error GoTo errorOpen
Set TempBook = Workbooks.Open(fNameAndPath)
On Error GoTo 0

'copy data to destination
With ActiveSheet.UsedRange
Set uRange = Range("A2", .Cells(.Count))

'make certain there are enough rows and columns first
If uRange.Rows.Count > rowsAvailable Then
MsgBox "You need " & uRange.Rows.Count _
& " rows and there are only " _
& rowsAvailable & " rows available"
ActiveWorkbook.Close False
Exit Sub
ElseIf uRange.Columns.Count > colsAvailable Then
MsgBox "You need " & uRange.Columns.Count _
& " columns and there are only " _
& colsAvailable & " columns available"
ActiveWorkbook.Close False
Exit Sub
End If

'copy imported data to destination
uRange.Copy destCell
End With
TempBook.Close False

'clear the clipboard
Application.CutCopyMode = False

'handles cancel selection in input box
doExit:
Exit Sub

'handles failure to open file
errorOpen:
MsgBox "The file could not be opened."

End Sub




Svara

Nyligen

  • 14:24 CBD regelbundet?
  • 14:23 CBD regelbundet?
  • 14:22 Har du märkt några verkliga fördel
  • 09:09 Vill du köpa medicinska tester?
  • 12:47 Vem beviljar assistansen – kommune
  • 14:17 Någon med erfarenhet av hemstädnin
  • 14:14 Bör man använda sig av en båtförme
  • 14:12 Finns det någon intressant hundblo

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 569 621
27 953
271 709
662
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