blackeangel |
25-12-2015 12:09 2588212 |
Поиск активной ячейки в другом файле и открытие её содержимого
Вот код
Код:
Public ipage As Integer
Sub pp()
Dim n As String
Dim m As String
Dim z As Range
Dim s
m = Cells(ActiveCell.Row, ActiveCell.Column) 'берем активную ячейку
n = "N:\_7_Все_карточки\Карточки.xlsm"
Set s = GetObject(n)
'ищем активную ячейку взятую с активного листа в другом открытом файле
Set z = s.Worksheets(1).Cells.Find(What:=m, LookIn:=xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows)
ipage = 30
arrStr = Split(Cells(z.Row, ipage), "!")
x = 0
'отрываем найденое
x = Shell("C:\Program Files\IrfanView\i_view32.exe " & "n:\_8_Все_tif\" & arrStr(0), vbNormalFocus)
If x > 0 Then Exit Sub
x = Shell("C:\Program Files\XnView\xnview.exe " & "n:\_8_Все_tif\" & arrStr(0))
End Sub
Ругается ошибкой 9 на строку
Код:
x = Shell("C:\Program Files\IrfanView\i_view32.exe " & "n:\_8_Все_tif\" & arrStr(0), vbNormalFocus)
Помогите пожалуйста исправить
|
Цитата:
Цитата blackeangel
Код:
Set s = GetObject(n)
»
|
А это зачем? Используйте обычное «Application.Workbooks.Open(…)/Close()».
Цитата:
Цитата blackeangel
Ругается ошибкой 9 на строку
Код:
x = Shell("C:\Program Files\IrfanView\i_view32.exe " & "n:\_8_Все_tif\" & arrStr(0), vbNormalFocus)
»
|
Попробуйте так:
Код:
x = Shell("""C:\Program Files\IrfanView\i_view32.exe"" " & """n:\_8_Все_tif\" & arrStr(0) & """", vbNormalFocus)
Судя по коду ошибки, у Вас нет arrStr(0). Скорее всего, потому, что значение ячейки «Cells(z.Row, ipage)» — пустое.
|
blackeangel |
25-12-2015 15:03 2588274 |
Проблема решена
Код:
arrStr = Split(s.Worksheets(1).Cells(z.Row, ipage), "!")
В этом была ошибка-брал значение не из той книги
Цитата:
Цитата Iska
(Сообщение 2588230)
Цитата:
Цитата blackeangel
Код:
Set s = GetObject(n)
»
|
А это зачем?
|
Это чтоб открылся файл без визуализации
|
Время: 22:50.
© OSzone.net 2001-