1

Тема: VBA макрос для перетворення виділеного тексту в гіперпосилання

Доброго дня шановне товариство.
Потрібна допомога у створенні программи!

Алгоритм роботи программи:
Файл Word який заповненний текстом, необхідно створити программу, яка при виділенні будь-якого тексту у даному файлі буде створювати із нього силку на пошук даного виділеного тексту у Google.

Буду вдячний за допомогу.
Оплату гарантую.

2 Востаннє редагувалося leofun01 (27.04.2021 11:05:05)

Re: VBA макрос для перетворення виділеного тексту в гіперпосилання

Є така штука, називається макрос (або скріпт).
Якщо Word мікромякий, то пишеться на VisualBasic (той що VBA). Там є Selection.Text

Приклад перетвореня виділеного тексту в посиланя:

ActiveDocument.Hyperlinks.Add Anchor:=Selection.Range, _ 
    Address:="https://replace.org.ua/"
Подякували: ch0r_t1

3

Re: VBA макрос для перетворення виділеного тексту в гіперпосилання

Покрокова інструкція в зображенях, код в кінці цього повідомленя:

https://i.ibb.co/XkRWXCk/screen-01.png

https://i.ibb.co/rF35Lcg/screen-02.png

https://i.ibb.co/0q3z4vp/screen-03.png

https://i.ibb.co/cgzK0Qs/screen-04.png

https://i.ibb.co/J3sbtph/screen-04-1.png

https://i.ibb.co/HtNZTMQ/screen-04-2.png

https://i.ibb.co/VtPmvSm/screen-05.png

https://i.ibb.co/6BhP3qp/screen-06.png

https://i.ibb.co/c8vvFyS/screen-07.png

https://i.ibb.co/86DZC3H/screen-08.png

https://i.ibb.co/v3PV9CW/screen-09.png

https://i.ibb.co/348FwXn/screen-10.png

https://i.ibb.co/fXb2kyV/screen-11.png

https://i.ibb.co/jgwnDJC/screen-12.png

https://i.ibb.co/M8rpQ00/screen-13.png

https://i.ibb.co/t2j9ZZN/screen-14.png

https://i.ibb.co/kQLcW39/screen-15.png

Sub AddSearchURL()
    Dim Proto As String
    Dim Domain As String
    Dim SelectedText As String
    Dim Query As String
    Dim URI As String
    
    Proto = "https"
    Domain = "www.google.com.ua"
    SelectedText = Trim(Selection.Text)
    Query = Replace(SelectedText, " ", "+")
    URI = "search?q=" & Query
    
    If Len(SelectedText) > 1 Then
        If Selection.Hyperlinks.Count < 1 Then
            ActiveDocument.Hyperlinks.Add Anchor := Selection.Range, _
                Address := Proto & "://" & Domain & "/" & URI
        Else
            While Selection.Hyperlinks.Count > 0
                Selection.Hyperlinks(1).Delete
            Wend
        End If
    End If
End Sub
Подякували: 0xDADA11C7, ch0r_t, /KIT\, Arete, FakiNyan, Torbins, Xaos7

4

Re: VBA макрос для перетворення виділеного тексту в гіперпосилання

я Вам дуже вдячний.

5

Re: VBA макрос для перетворення виділеного тексту в гіперпосилання

Прихований текст

https://i.imgur.com/Ha4Q2Gj.png найс іронія

Подякували: leofun011

6

Re: VBA макрос для перетворення виділеного тексту в гіперпосилання

Xaos написав:

макрос не працює при натисканні на F9, через меню макроси і команду Виконати усе працює.
У чому проблемма?

Причиною може бути 1+ із варіантів:

  • Файл (*.docm) не було збережено у файловій системі на момент призначення клавіші. В деяких продуктах мікромяких є такий недолік.

  • Макрос був переіменований (або переміщений) після призначення клавіші (F9).

  • Призначена клавіша була видалена зі списку відслідковуваних.

  • Операційна система вже призначила цю клавішу для іншої функції або іншої програми (глобально). Тоді треба вбити процес, який тримає клавішу, зберегти і закрити документ, відкрити документ.

  • Клавіша не була призначена. Таке трапляється у новачків, коли користувач працює з ноутбуком і не відрізняє F9 від Fn+F9. В деяких ноутбуків вони інвертовані, це залежить від налаштувань BIOS.

Подякували: Xaos, 0xDADA11C72