arxon
Дата: Понедельник, 22.04.2019, 19:49 |
Сообщение № 1
Группа: Пользователи
Ранг: Участник
Сообщений: 50
Репутация:
0
±
Замечаний:
0% ±
Excel 2016
Здравствуйте! есть колонка с описанием, где расположены ссылки для встраивания роликов из YOUTUBE. Требуется ссылки на эти ролики расположить в отдельной колонке. Понятие не имею как этого добиться, может кто подскажет... в файле все показал как минимум вытащить уникальный код каждого видео, а дальше можно и через объединение колонок получить желаемый код типа Код
<iframe width="640" height="360" src="http://www.youtube.com/embed/tHuUJdEEBLg?feature=player_embedded" frameborder="0" allowfullscreen></iframe>
Здравствуйте! есть колонка с описанием, где расположены ссылки для встраивания роликов из YOUTUBE. Требуется ссылки на эти ролики расположить в отдельной колонке. Понятие не имею как этого добиться, может кто подскажет... в файле все показал как минимум вытащить уникальный код каждого видео, а дальше можно и через объединение колонок получить желаемый код типа Код
<iframe width="640" height="360" src="http://www.youtube.com/embed/tHuUJdEEBLg?feature=player_embedded" frameborder="0" allowfullscreen></iframe>
arxon
Ответить
Сообщение Здравствуйте! есть колонка с описанием, где расположены ссылки для встраивания роликов из YOUTUBE. Требуется ссылки на эти ролики расположить в отдельной колонке. Понятие не имею как этого добиться, может кто подскажет... в файле все показал как минимум вытащить уникальный код каждого видео, а дальше можно и через объединение колонок получить желаемый код типа Код
<iframe width="640" height="360" src="http://www.youtube.com/embed/tHuUJdEEBLg?feature=player_embedded" frameborder="0" allowfullscreen></iframe>
Автор - arxon Дата добавления - 22.04.2019 в 19:49
RAN
Дата: Понедельник, 22.04.2019, 22:26 |
Сообщение № 2
Группа: Друзья
Ранг: Экселист
Сообщений: 5660
[vba]Код
Function YouTo(s As String) Dim sm As Object, i& With CreateObject("VBScript.RegExp") .Global = True .Pattern = "<iframe.+</iframe>" Set sm = .Execute(s) For i = 0 To sm.Count - 1 YouTo = YouTo & sm(i) Next End With End Function
[/vba]
[vba]Код
Function YouTo(s As String) Dim sm As Object, i& With CreateObject("VBScript.RegExp") .Global = True .Pattern = "<iframe.+</iframe>" Set sm = .Execute(s) For i = 0 To sm.Count - 1 YouTo = YouTo & sm(i) Next End With End Function
[/vba] RAN
Быть или не быть, вот в чем загвоздка!
Ответить
Сообщение [vba]Код
Function YouTo(s As String) Dim sm As Object, i& With CreateObject("VBScript.RegExp") .Global = True .Pattern = "<iframe.+</iframe>" Set sm = .Execute(s) For i = 0 To sm.Count - 1 YouTo = YouTo & sm(i) Next End With End Function
[/vba] Автор - RAN Дата добавления - 22.04.2019 в 22:26
Karataev
Дата: Понедельник, 22.04.2019, 22:47 |
Сообщение № 3
Группа: Проверенные
Ранг: Старожил
Сообщений: 1334
Репутация:
533
±
Замечаний:
0% ±
Excel
Запустите макрос на том файле, который Вы выложили, результат будет вставлен в столбец "B".
[vba]
Код
Sub Получить_ссылки() Dim arrSrc(), arrRes() Dim lr As Long, i As Long lr = Cells(Rows.Count, "A").End(xlUp).Row arrSrc() = Range("A2:A" & lr).Value ReDim arrRes(1 To UBound(arrSrc), 1 To 1) For i = 1 To UBound(arrSrc) GetHyperlinks arrSrc(i, 1), arrRes(i, 1) Next i Range("B2").Resize(UBound(arrRes)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub Private Sub GetHyperlinks(varSrc, varRes) Dim lngInstr1 As Long, lngInstr2 As Long, lngStart As Long lngStart = 1 Do lngInstr1 = InStr(lngStart, varSrc, "<iframe ") If lngInstr1 = 0 Then Exit Do End If lngInstr2 = InStr(lngInstr1, varSrc, "</iframe>") lngInstr2 = lngInstr2 + Len("</iframe>") varRes = varRes & Mid(varSrc, lngInstr1, lngInstr2 - lngInstr1) & " " lngStart = lngInstr2 Loop varRes = RTrim(varRes) End Sub
[/vba]
Запустите макрос на том файле, который Вы выложили, результат будет вставлен в столбец "B".
[vba]
Код
Sub Получить_ссылки() Dim arrSrc(), arrRes() Dim lr As Long, i As Long lr = Cells(Rows.Count, "A").End(xlUp).Row arrSrc() = Range("A2:A" & lr).Value ReDim arrRes(1 To UBound(arrSrc), 1 To 1) For i = 1 To UBound(arrSrc) GetHyperlinks arrSrc(i, 1), arrRes(i, 1) Next i Range("B2").Resize(UBound(arrRes)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub Private Sub GetHyperlinks(varSrc, varRes) Dim lngInstr1 As Long, lngInstr2 As Long, lngStart As Long lngStart = 1 Do lngInstr1 = InStr(lngStart, varSrc, "<iframe ") If lngInstr1 = 0 Then Exit Do End If lngInstr2 = InStr(lngInstr1, varSrc, "</iframe>") lngInstr2 = lngInstr2 + Len("</iframe>") varRes = varRes & Mid(varSrc, lngInstr1, lngInstr2 - lngInstr1) & " " lngStart = lngInstr2 Loop varRes = RTrim(varRes) End Sub
[/vba]
Karataev
Ответить
Сообщение Запустите макрос на том файле, который Вы выложили, результат будет вставлен в столбец "B".
[vba]
Код
Sub Получить_ссылки() Dim arrSrc(), arrRes() Dim lr As Long, i As Long lr = Cells(Rows.Count, "A").End(xlUp).Row arrSrc() = Range("A2:A" & lr).Value ReDim arrRes(1 To UBound(arrSrc), 1 To 1) For i = 1 To UBound(arrSrc) GetHyperlinks arrSrc(i, 1), arrRes(i, 1) Next i Range("B2").Resize(UBound(arrRes)).Value = arrRes() MsgBox "Готово!", vbInformation End Sub Private Sub GetHyperlinks(varSrc, varRes) Dim lngInstr1 As Long, lngInstr2 As Long, lngStart As Long lngStart = 1 Do lngInstr1 = InStr(lngStart, varSrc, "<iframe ") If lngInstr1 = 0 Then Exit Do End If lngInstr2 = InStr(lngInstr1, varSrc, "</iframe>") lngInstr2 = lngInstr2 + Len("</iframe>") varRes = varRes & Mid(varSrc, lngInstr1, lngInstr2 - lngInstr1) & " " lngStart = lngInstr2 Loop varRes = RTrim(varRes) End Sub
[/vba]
Автор - Karataev Дата добавления - 22.04.2019 в 22:47