Data from a binary text file and import to a Excel

billgilmer

New Member
Joined
Dec 30, 2004
Messages
11
:hammer: I am trying to retrieve data from a dos binary text file and import to a Excel file. I have over 100 storeinv files each week and I want to use this information in an another excel file.
I can open the file in excel but each line is one cell and the informaton is text only.

The file name is
STOREINV.TXT
The info I want to retrive is The Store number, Invoice: Number
Invoice Date:, Total Net Rentals amount, Subtotals, and Minus & Voids.

Example of invoice sheet:

499 S. Phoenix
New Storessss, Texas 77777
(321) 521-6428


TO: 1111 Documenr Invoice: 11943
3826 ###AM$$$ SCHOOL RD. Date: 12/27/04
3333 444444 TX 86111

+--------------------------------------------------------+
¦AMOUNT¦ DESCRIPTION ¦UNIT COST¦ TOTAL ¦
+------+-----------------------------+---------+---------¦
¦ ¦ Total Net Rentals for ¦ ¦ ¦ 1,278¦58¦
+------+-----------------------------+------+--+------+--¦
¦ ¦ 12/17/04 thru 12/23/04 days ¦ ¦ ¦ ¦ ¦
+------+-----------------------------+------+--+------+--¦
¦ ¦ Plus Manual Contracts ¦ ¦ ¦ 0¦00¦
+------+-----------------------------+------+--+------+--¦
¦ ¦ Minus Voids ¦ ¦ ¦ 33¦49¦
+------+-----------------------------+------+--+------+--¦
¦ ¦ Subtotal ¦ ¦ ¦ 1,245¦09¦
+------+-----------------------------+------+--+------+--¦
 

Excel Facts

Create a Pivot Table on a Map
If your data has zip codes, postal codes, or city names, select the data and use Insert, 3D Map. (Found to right of chart icons).
The file will likely need to be parsed with VBA. If you wish, mail the txt file and a worksheet containing an example of exactly how you want the import to be structured...

mrexcel@fuse.net
 
Upvote 0
<font color="#0000A0">Option</font> <font color="#0000A0">Explicit</font>

<font color="#0000A0">Private</font> <font color="#0000A0">Sub</font> CommandButton1_Click()
       Example
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>

<font color="#0000A0">Sub</font> Example()
       <font color="#0000A0">Dim</font> wb <font color="#0000A0">As</font> Workbook, sh <font color="#0000A0">As</font> Worksheet, r <font color="#0000A0">As</font> Range
      
      <font color="#008000"> 'add new workbook, get sheet, get range</font>
       <font color="#0000A0">Set</font> wb = Workbooks.Add
       <font color="#0000A0">Set</font> sh = wb.Sheets(1)
       <font color="#0000A0">Set</font> r = sh.Range("A1:G1")
      
       <font color="#0000A0">With</font> r.Parent
             .Parent.Activate
             .Select
       <font color="#0000A0">End</font> <font color="#0000A0">With</font>
      
       sh.Cells.Interior.ColorIndex = 2
       sh.Cells.Interior.Pattern = xlSolid
       r(1).Offset(2).Select
       r.Font.Bold = <font color="#0000A0">True</font>
       r(1) = " - Please Wait - "
      
       Application.ScreenUpdating = <font color="#0000A0">False</font>
      
      <font color="#008000"> 'set up headers</font>
      <font color="#008000"> 'r(1) = "Please Wait"</font>
       r(2) = "Store Number"
       r(3) = "Invoice Number"
       r(4) = "Invoice Date"
       r(5) = "Total Net Rentals"
       r(6) = "Minus Voids"
       r(7) = "Subtotal"
      
      <font color="#008000"> 'first import cell</font>
       <font color="#0000A0">Set</font> r = r.Offset(2)
      
      <font color="#008000"> 'gets directory name from cell A1</font>
       <font color="#0000A0">Call</font> RoughDraftBinaryImport([a1], r)
      
       <font color="#0000A0">With</font> r.Columns.EntireColumn
             .AutoFit
             .HorizontalAlignment = xlLeft
       <font color="#0000A0">End</font> <font color="#0000A0">With</font>
      
       sh.Cells(1).Value = "File Name"
       sh.Cells.Interior.ColorIndex = xlNone
       Application.ScreenUpdating = <font color="#0000A0">True</font>
      
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>

<font color="#0000A0">Sub</font> RoughDraftBinaryImport(InDirectory <font color="#0000A0">As</font> String, r <font color="#0000A0">As</font> Range)
       <font color="#0000A0">Dim</font> Fs, i
      
       <font color="#0000A0">Set</font> Fs = Application.FileSearch
      
       <font color="#0000A0">With</font> Fs
             .LookIn = InDirectory
             .FileName = "*.txt"
             <font color="#0000A0">If</font> .Execute <font color="#0000A0">Then</font>
                   <font color="#0000A0">For</font> i = 1 <font color="#0000A0">To</font> .FoundFiles.Count
                         <font color="#0000A0">Call</font> ParseImport(.FoundFiles(i), r)
                         <font color="#0000A0">Set</font> r = r.Offset(1)
                   <font color="#0000A0">Next</font>
             <font color="#0000A0">End</font> <font color="#0000A0">If</font>
       <font color="#0000A0">End</font> <font color="#0000A0">With</font>
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>

<font color="#0000A0">Sub</font> ParseImport(FileName <font color="#0000A0">As</font> String, r <font color="#0000A0">As</font> Range)
       <font color="#0000A0">Dim</font> InP <font color="#0000A0">As</font> String, ts <font color="#0000A0">As</font> String, Spos <font color="#0000A0">As</font> Long, Lpos <font color="#0000A0">As</font> <font color="#0000A0">Integer</font>
      
       <font color="#0000A0">Open</font> FileName <font color="#0000A0">For</font> <font color="#0000A0">Input</font> <font color="#0000A0">As</font> #1
             InP = Input(LOF(1), #1)
       <font color="#0000A0">Close</font> #1
      
       r(1) = FileName
      
       Spos = InStr(InP, "TO:") + 3
       r(2) = Trim(Mid(InP, Spos, 8))
      
       Spos = InStr(Spos, InP, "Invoice:") + 8
       r(3) = Trim(Mid(InP, Spos, 6))
      
       Spos = InStr(Spos, InP, "Date:") + 5
       r(4) = Trim(Mid(InP, Spos, 9))
      
       Spos = InStr(Spos, InP, "Total Net Rentals for") + 21
       r(5) = GetAmount(InP, Spos)
      
       Spos = InStr(Spos, InP, "Minus Voids") + 11
       r(6) = GetAmount(InP, Spos)
      
       Spos = InStr(Spos, InP, "Subtotal") + 8
       r(7) = GetAmount(InP, Spos)
 
<font color="#0000A0">End</font> <font color="#0000A0">Sub</font>

<font color="#0000A0">Function</font> GetAmount(str <font color="#0000A0">As</font> String, pos <font color="#0000A0">As</font> Long) <font color="#0000A0">As</font> <font color="#0000A0">Currency</font>
       <font color="#0000A0">Dim</font> Spos <font color="#0000A0">As</font> Long, BuildAmt <font color="#0000A0">As</font> <font color="#0000A0">String</font>
      
       Spos = InStr(pos, str, "³ ³") + 4
       BuildAmt = Mid(str, Spos, 6) & "." & Mid(str, Spos + 7, 2)
       GetAmount = CCur(Trim(BuildAmt))
      
<font color="#0000A0">End</font> <font color="#0000A0">Function</font>

I1A 2

                                  I N V O I C E

                                    P&V VIDEO
499 S.Phoenix
                           <font color="#0000A0">New</font> Storessss, Texas 77777
                                 (321) 521-6428


       TO: 1111 Documenr Invoice: 11943
              3826 ###AM$$$ SCHOOL RD. Date: 12/27/04
              3333 444444 TX 86111

       ÚÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄÂÄÄÄÄÄÄÄÄÄ¿
       ³AMOUNT³ DESCRIPTION ³UNIT COST³ TOTAL ³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÂÄÄÅÄÄÄÄÄÄÂÄÄ´
       ³ ³ Total Net Rentals <font color="#0000A0">for</font> ³ ³ ³ 1,278³58³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ 12/17/04 thru 12/23/04 days ³ ³ ³ ³ ³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Plus Manual Contracts ³ ³ ³ 0³00³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Minus Voids ³ ³ ³ 33³49³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Subtotal ³ ³ ³ 1,245³09³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Minus 0 Percent of Subtotal³ ³ ³ 0³00³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Minus: ³ ³ ³ 0³00³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Misc1: ³ ³ ³ 0³00³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ Misc2: ³ ³ ³ 0³00³
       ÃÄÄÄÄÄÄÅÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÅÄÄÄÄÄÄÅÄÄÅÄÄÄÄÄÄÅÄÄ´
       ³ ³ ³ ³ ³ ³ ³
       ÀÄÄÄÄÄÄÁÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÁÄÄÄÄÄÄÅÄÄÁÄÄÄÄÄÄÅÄÄ´
                                          SUBTOTAL ³ 1,245³09³
                                                   ÃÄÄÄÄÄÄÄÄÄÅÄÄ´
                                               TAX ³ ³ ³
                                                   ÃÄÄÄÄÄÄÄÄÄÅÄÄ´
                                             TOTAL ³ ³ ³
                                                   ÀÄÄÄÄÄÄÄÄÄÁÄÄÙ
                                                             


       _______________________________________________________
       Signature

 
Upvote 0

Forum statistics

Threads
1,224,845
Messages
6,181,300
Members
453,031
Latest member
Chris_1

We've detected that you are using an adblocker.

We have a great community of people providing Excel help here, but the hosting costs are enormous. You can help keep this site running by allowing ads on MrExcel.com.
Allow Ads at MrExcel

Which adblocker are you using?

Disable AdBlock

Follow these easy steps to disable AdBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the icon in the browser’s toolbar.
2)Click on the "Pause on this site" option.
Go back

Disable AdBlock Plus

Follow these easy steps to disable AdBlock Plus

1)Click on the icon in the browser’s toolbar.
2)Click on the toggle to disable it for "mrexcel.com".
Go back

Disable uBlock Origin

Follow these easy steps to disable uBlock Origin

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back

Disable uBlock

Follow these easy steps to disable uBlock

1)Click on the icon in the browser’s toolbar.
2)Click on the "Power" button.
3)Click on the "Refresh" button.
Go back
Back
Top