Страница: 1 |
Страница: 1 |
Вопрос: Доступ к открытому xls-файлу
Добавлено: 08.08.07 14:56
Автор вопроса: evgenis | ICQ: 109313608
Мое почтение
не подскажите как можно из макроса получить доступ к другому открытому xls-файлу?
Ответы
Всего ответов: 7
Номер ответа: 1
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #1
Добавлено: 08.08.07 17:49
Ну можно так
Windows("Бланк.xls".Activate
Cells(1, 1) = "Привет!"
End Sub
или так
Dim iValue&
iValue = Windows("Бланк.xls".Sheets("Лист1".Range("A1".Value
MsgBox iValue
End Sub
Номер ответа: 2
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #2
Добавлено: 08.08.07 18:53
ну, и соответственно
Dim iValue$
iValue = "Привет!"
Workbooks("Книга1.xls".Sheets("Лист1".Range("A1" = iValue
End Sub
Номер ответа: 3
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #3
Добавлено: 09.08.07 06:54
спсибо за ответы, но почему то так не получалось, выводило <Subscript out of range>. сделал так:
Workbooks.Open Filename:="Книга1.xls"
Номер ответа: 4
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #4
Добавлено: 09.08.07 10:47
Ну, видимо она у вас была закрыта на тот момент )
А в вашем коде вы её открываете )
Номер ответа: 5
Автор ответа:
evgenis
ICQ: 109313608
Вопросов: 3
Ответов: 7
Профиль | | #5
Добавлено: 10.08.07 15:05
я делаю так:
fileToOpen = Application.GetOpenFilename("*.xls;*.xlt), *.xls;*.xlt", Null, "Укажите файл с протоколом в текущих ценах"
If fileToOpen <> False Then
Workbooks.Open Filename:=fileToOpen, ReadOnly:=True
Set oProtTC = Workbooks(2).Sheets("Лист1"
oProtTC.Cells(1, 1).Value
end if
Номер ответа: 6
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #6
Добавлено: 10.08.07 18:24
А вот так?
Dim fileToOpen
Dim oProtTC As Workbook
Dim iValue!
fileToOpen = Application.GetOpenFilename("*.xls;*.xlt), *.xls;*.xlt", Null, "Укажите файл с протоколом в текущих ценах"
If fileToOpen <> False Then
Workbooks.Open Filename:=fileToOpen, ReadOnly:=True
Set oProtTC = ActiveWorkbook
oProtTC.Sheets("Лист1".Cells(1, 1) = 5 'записываем значение на Лист1 в А1
iValue = oProtTC.Sheets("Лист1".Cells(1, 1) 'считываем значение с Листа1 из А1
MsgBox "Ячейка А1 на Листе1 содержит значение: " & iValue, , "" 'отображаем его
Else
MsgBox "Файл с протоколом не выбран!", 48, ""
End If
End Sub
Номер ответа: 7
Автор ответа:
Pavel
Вопросов: 0
Ответов: 82
Профиль | | #7
Добавлено: 10.08.07 18:34
Ну, или как у вас - сразу обращаемся к Лист1
Dim fileToOpen
Dim oProtTC As Object
Dim iValue!
fileToOpen = Application.GetOpenFilename("*.xls;*.xlt), *.xls;*.xlt", Null, "Укажите файл с протоколом в текущих ценах"
If fileToOpen <> False Then
Workbooks.Open Filename:=fileToOpen, ReadOnly:=True
Set oProtTC = ActiveWorkbook.Sheets("Лист1"
oProtTC.Cells(1, 1) = 5 'записываем значение на Лист1 в А1
iValue = oProtTC.Cells(1, 1) 'считываем значение с Листа1 из А1
MsgBox "Ячейка А1 на Листе1 содержит значение: " & iValue, , "" 'отображаем его
Else
MsgBox "Файл с протоколом не выбран!", 48, ""
End If
End Sub