текстовый файл импорта Excel с использованием vba в доступе - PullRequest
0 голосов
/ 09 июля 2020

У меня есть текстовый файл, который мне нужно импортировать в Excel из Access. Я создал vba для создания текстового файла, поместил его в папку, у меня есть код, чтобы взять мой шаблон Excel и скопировать его.

, но теперь, чтобы импортировать текстовый файл на вкладку в моей книге, я проблемы с. Я могу вручную импортировать текстовый файл в Excel, но если бы я мог сделать то же самое в доступе, я бы полностью автоматизировал все свои процессы. текстовый файл, на котором я рисую пустой.

sub updatereport_Click()

Set rsquery1 =  ???

Set excelapp = CreateObject("Excel.application", "")
excelapp.Visible = True

Set XL = CreateObject("Excel.Application")

Set targetworkbook = excelapp.workbooks.Open(drive & Inputlocation & Inputcurrentsunday & "\" & "AgentSchedulesDOW-Verint_WkOf_" & Inputcurrentsunday & ".xlsx")

targetworkbook.worksheets("Data").Range("A2:BO45000").clearcontents
targetworkbook.worksheets("Data").Range("A2").copyfromrecordset rsquery1

targetworkbook.Save
targetworkbook.Close

XL.workbooks.Close
XL.Quit

excelapp.workbooks.Close

End Sub

1 Ответ

1 голос
/ 09 июля 2020

Может ли это помочь? http://www.freevbcode.com/ShowCode.asp?ID=2180

Комбинированный код выглядит примерно так:

Sub updatereport_Click()

Dim connCSV As New ADODB.Connection
Dim rsquery1 As New ADODB.Recordset
Dim adcomm As New ADODB.Command
Dim path As String

path = "C:\Testdir\"  'Here Test dir is the Directory where
' the text file is located. don't write the file name here.

'This is connection for a text file without Header

 'connCSV.Open "Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" _
 & path & ";Extended Properties='text;HDR=NO;FMT=Delimited'"


'This is connection for a text file with Header (i.e., columns
 
connCSV.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};Dbq=" _
& path & ";Extensions=asc,csv,tab,txt;HDR=NO;Persist Security Info=False"
    
    
   rsquery1.Open "Select * From test.txt", _
       connCSV, adOpenStatic, adLockReadOnly, adCmdText


Set excelapp = CreateObject("Excel.application", "")
excelapp.Visible = True

Set XL = CreateObject("Excel.Application")

Set targetworkbook = excelapp.Workbooks.Open(drive & Inputlocation & Inputcurrentsunday & "\" & "AgentSchedulesDOW-Verint_WkOf_" & Inputcurrentsunday & ".xlsx")

targetworkbook.Worksheets("Data").Range("A2:BO45000").ClearContents
targetworkbook.Worksheets("Data").Range("A2").CopyFromRecordset rsquery1

targetworkbook.Save
targetworkbook.Close

XL.Workbooks.Close
XL.Quit

Возможно, вам нужно будет изменить больше, чем следующее, но определенно потребуется to:

  1. поместите путь к местоположению вашего текстового файла в строку 8
  2. обновите имя тестового файла в строке 23
  3. в зависимости от того, есть ли в вашем текстовом файле заголовок или нет может потребоваться прокомментировать / раскомментировать соответствующий connCSV.open code
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...