У меня есть книга, содержащая макрос, который я хочу использовать для обновления местоположения соединения в другой книге.Сценарий VBA создает папку, заполняет ее файлом журнала, содержащим данные с именем log.txt, и копией файла excel, который предварительно отформатирован для заполнения данными, позволяющими пользователю просматривать графики и подробные данные.это журнал открывания двери, отслеживающий количество раз, когда дверь использовалась.
вот код VBA, который я придумал до сих пор.примечание: я пару лет занимался программированием на C ++, но не занимался этим уже десять лет.Я попытался найти код и даже записать макрос действий, которые я выполняю, когда обновляю соединение вручную.однако, если я попытаюсь использовать этот код, он выдаст «Ошибка времени выполнения 1004» Ошибка приложения или объекта.
Вот код.Закомментированный бит внизу является результатом макроса, записанного при ручном изменении соединения.
Любая помощь будет принята очень.
Sub Lof_File_Macro()
' Log_file_Macro Macro
' Runs script for monthly counts '
Dim strfolder1, strmonthno, strmonth, stryear, strfoldername, strfile, strmonyr, stlogfile, strfutfile
'date strings defined using date functions - ofset for 28 days to allow running anytime within 20 days into the next month whilereturning correct month
strmonthno = Month(Date - 28)
strmonth = MonthName((strmonthno), True)
stryear = Year(Date - 28)
strmonyr = " " & strmonth & " " & stryear
strfolder = "C:\Users\jtaylor7\Desktop\futures\People Counter" & strmonyr
strfile = "Futures People" & strmonyr & ".xls"
strlogfile = strfolder & "\" & "log" & strmonyr & ".txt"
strfutfile = strfolder & "\" & strfile
MkDir (strfolder)
FileCopy "C:\Users\jtaylor7\Desktop\futures\log.log", strlogfile
FileCopy "C:\Users\jtaylor7\Desktop\futures\template.xls", strfutfile
'Workbooks.Open Filename:=strfutfile
'ActiveWorkbook.Connections.AddFromFile (strlogfile)
'
'
' Perform data connection modification on file
'' Windows(strfutfile).Activate
' With ActiveWorkbook.Connections("log")
' .Name = "log"
' .Description = ""
' End With
' Range("$A$1:$H$1").Select
'With Selection.QueryTable
' .Connection = "TEXT;strlogfile"
' .TextFilePlatform = 850
' .TextFileStartRow = 1
' .TextFileParseType = xlDelimited
' .TextFileTextQualifier = xlTextQualifierDoubleQuote
' .TextFileConsecutiveDelimiter = False
' .TextFileTabDelimiter = False
' .TextFileSemicolonDelimiter = False
' .TextFileCommaDelimiter = True
' .TextFileSpaceDelimiter = False
' .TextFileOtherDelimiter = "/"
' .TextFileColumnDataTypes = Array(1, 1, 1, 1, 1, 1, 1, 1)
' .TextFileTrailingMinusNumbers = True
' .Refresh BackgroundQuery:=False
' End With
' Range("I4").Select
' ActiveWorkbook.Connections("log").Refresh
'' Windows("Run Me.xls").Activate
'
End Sub
Я знаю, что это немного грязно, иесли кому-то нужны какие-либо дополнительные данные, пожалуйста, спросите.