PDA

Показать полную графическую версию : Вставка ссылки на первый лист в ячейку Excel с помощью VBS


Dedcase
17-09-2015, 17:05
Доброго дня! Существует книга, из 2-х листов. Во второй лист, в 1 ячейку нужно вставить ссылку с названием, скажем, "Оглавление", ссылающуюся на первый лист. Как реализовать это в именно VBS ?

Iska
18-09-2015, 18:55
Dedcase, не очень ясно, что за ссылку Вы имеете в виду. Гиперссылку? Как следует понимать — «на первый лист»?

Выложите образец рабочей книги с уже готовой ссылкой, сделанной Вами «ручками» — будем смотреть.

Dedcase
21-09-2015, 11:35
Здесь можно скачать книгу https://yadi.sk/i/XknSJLCmjDPdo
Там 18 листов, нужно чтобы в первой ячейке, на каждом листе, появилась ссылка с надписью "Оглавление", при нажатии на которую, сразу перемещало к оглавлению, на первый лист книги. Как сделать это макросом понятно, не могу интерпретировать макрос VBA в VBS.

Iska
21-09-2015, 12:45
Можно интерпретировать вот так:
Option Explicit

Dim strSourceWorkbook

Dim objWorksheet


If WScript.Arguments.Count = 1 Then
With WScript.CreateObject("Scripting.FileSystemObject")
strSourceWorkbook = .GetAbsolutePathName(WScript.Arguments.Item(0))

If .FileExists(strSourceWorkbook) Then
Select Case LCase(.GetExtensionName(strSourceWorkbook))
Case "xls", "xlsx"
With WScript.CreateObject("Excel.Application")
With .Workbooks.Open(strSourceWorkbook)
For Each objWorksheet In .Worksheets
If Not StrComp(objWorksheet.Name, "Оглавление", vbTextCompare) = 0 Then
objWorksheet.Hyperlinks.Add objWorksheet.Range("A1"), "", "Оглавление!R1C1", "Перейти к оглавлению", "Оглавление"
End If
Next

.Save
.Close
End With

.Quit
End With
Case Else
WScript.Echo "Probably not a Excel workbook."
WScript.Quit 3
End Select
Else
WScript.Echo "Can't find source workbook [" & strSourceWorkbook & "]."
WScript.Quit 2
End If
End With
Else
WScript.Echo "Usage: cscript.exe //nologo """ & WScript.ScriptName & """ <Source workbook>"
WScript.Quit 1
End If

WScript.Quit 0

Путь к целевой рабочей книге задаётся аргументом скрипта. Также можно просто перетаскивать целевую рабочую книгу на скрипт в Проводнике.




© OSzone.net 2001-2012