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

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Скриптовые языки администрирования Windows (http://forum.oszone.net/forumdisplay.php?f=102)
-   -   Вставка ссылки на первый лист в ячейку Excel с помощью VBS (http://forum.oszone.net/showthread.php?t=305559)

Dedcase 17-09-2015 17:05 2554409

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

Iska 18-09-2015 18:55 2554931

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

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

Dedcase 21-09-2015 11:35 2555798

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

Iska 21-09-2015 12:45 2555838

Можно интерпретировать вот так:
Скрытый текст
Код:

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


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


Время: 08:20.

Время: 08:20.
© OSzone.net 2001-