Как при нажатии в Exel кнопки 'ОБНОВИТЬ ДАННЫЕ' вставить згачения времени ЮЗЕРОВ в поля книги Exel? - VB
Формулировка задачи:
У меня проблема: есть текстовый файл, который валяется на ftp - сервере в каталоге pub с именем 271.txt, состоящий из 2-х полей и обновляющийся каждый час. Первое поле - это, к примеру, Логинами пользователей, а второе - время, которое они провёли в Инете, в формате 99:99
Существует лист Exel на котором тоже два поля: первое тоже Логины(те же самые), а второе для времени.
Вопрос: Как при нажатии в Exel кнопки 'ОБНОВИТЬ ДАННЫЕ' вставить згачения времени ЮЗЕРОВ в поля книги Exel. Если это невозможно, то тогда как хотя бы этот файл оттуда скопировать.
Чёто путанно написал, но разобраться в проблеме можно.
Спасибо.
Решение задачи: «Как при нажатии в Exel кнопки 'ОБНОВИТЬ ДАННЫЕ' вставить згачения времени ЮЗЕРОВ в поля книги Exel?»
textual
Листинг программы
Private Sub LoadToExcel()
Dim objExcel As Excel.Application
Dim objWorkbook As Excel.Workbook
Dim objWorksheet As Excel.Worksheet
Dim i, j As Integer
Dim StrFile(0 To 61) As String
'до скольки строк надо сам сделаешь
'или используй гибкий массив
'считываем в массив все свои записи - умеешь
'по другому сделай сам, просто думать неохота
Open 'c:Источник.txt' For Input As #1
Do While Not EOF(1)
Line Input #1, StrFile(i)
i = i + 1
Loop
Close #1
'Запускаем Excel
Set objExcel = GetObject('', 'excel.application')
'Создаём Workbook из готового бланка
Set objWorkbook = objExcel.Workbooks.Open('c:MyFile.xls')
'Выключаем сообщения, шоб не мешали ежли что
objExcel.DisplayAlerts = False
'Активизируем страницу
Set objWorksheet = ActiveSheet
'загрузка инфо в ячейки
'ячейка А1 будет(1,1) А2 (2,1) и т.д.
For j = 0 To i
objWorksheet.Cells(j + 1, 1) = StrFile(j)
Next
'сохраняем и закрываем
objWorkbook.Close True, 'c:MyFile.xls'
'Включаем сообщения
'Если закрывать Excel, то необязательно
'objExcel.DisplayAlerts = True
'Set objWorksheet = Nothing
'Set objWorkbook = Nothing
'Set objExcel = Nothing
objExcel.Quit
MsgBox 'Загрузка данных в Excel завершена'
End Sub