Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Microsoft Office (Word, Excel, Outlook и т.д.) (http://forum.oszone.net/forumdisplay.php?f=115)
-   -   [решено] Поиск активной ячейки в другом файле и открытие её содержимого (http://forum.oszone.net/showthread.php?t=309598)

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)
Помогите пожалуйста исправить

Iska 25-12-2015 12:54 2588230

Цитата:

Цитата 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)
»

А это зачем?

Это чтоб открылся файл без визуализации

Iska 25-12-2015 15:29 2588280

Цитата:

Цитата blackeangel
Это чтоб открылся файл без визуализации »

Application.ScreenUpdating Property (Excel).


Время: 22:50.

Время: 22:50.
© OSzone.net 2001-