Visual Basic, .NET, ASP, VBScript
 

   
   
     

Форум - VBA

Страница: 1 |

 

  Вопрос: Доступ к открытому xls-файлу Добавлено: 08.08.07 14:56  

Автор вопроса:  evgenis | ICQ: 109313608 
Мое почтение
не подскажите как можно из макроса получить доступ к другому открытому xls-файлу?

Ответить

  Ответы Всего ответов: 7  

Номер ответа: 1
Автор ответа:
 Pavel



Вопросов: 0
Ответов: 82
 Профиль | | #1 Добавлено: 08.08.07 17:49
Ну можно так
Sub Макрос1()
    Windows("Бланк.xls";).Activate
    Cells(1, 1) = "Привет!"
End Sub


или так

Sub Макрос2()
Dim iValue&
    iValue = Windows("Бланк.xls";).Sheets("Лист1";).Range("A1";).Value
    MsgBox iValue
End Sub

Ответить

Номер ответа: 2
Автор ответа:
 Pavel



Вопросов: 0
Ответов: 82
 Профиль | | #2 Добавлено: 08.08.07 18:53
ну, и соответственно

Sub Макрос1()
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
А вот так?

Sub Макрос1()
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

Sub Макрос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

Ответить

Страница: 1 |

Поиск по форуму



© Copyright 2002-2011 VBNet.RU | Пишите нам