| imho.ws |
![]() |
|
|
|
# 1 |
|
Guest
Сообщения: n/a
|
обработка Excel
Долго думал, куда поместить эту тему...
Понадеялся, быть может найдется какое-то программерское решение... Есть некоторый файл Excel, заполненный ссылками, типа www.site.ru?id==5, нужно изменить все ссылки на http://www.site.ru?id==5&id2====5 Ссылок много... как это можно реализовать? |
|
|
# 2 |
|
Junior Member
Регистрация: 20.10.2004
Адрес: Тюмень
Сообщения: 52
![]() ![]() |
Если адреса все одинаковые т.е. все ссылки одинаковые: www.site.ru?id==5, то Правка->Заменить... В поле найти:www.site.ru?id==5, заменить на: http://www.site.ru?id==5&id2====5. Ну ижмём заменить всё.
__________________
Маленький, лысенький, да ещё и в очках
|
|
|
|
|
# 4 |
|
::VIP::
Регистрация: 19.10.2003
Адрес: Питер
Пол: Male
Сообщения: 1 467
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
wolandino
Using Regular Expressions Внизу прилеплен зиповский файл, там файл Excel с примерами regexp. Поизучай макросы, да попробуй на их основе свой накатать. |
|
|
|
|
# 7 |
|
::VIP::
Регистрация: 19.10.2003
Адрес: Питер
Пол: Male
Сообщения: 1 467
![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() |
wolandino
Создай в Excel макрос следующего содержания: Код:
Sub RegExp_Late_Execute_2()
Dim RegEx As Object, RegMatchCollection As Object
Dim Myrange As Range, C As Range, OutPutStr As String
Dim i As Long
Set RegEx = CreateObject("vbscript.regexp")
With RegEx
.Global = True
.IgnoreCase = True
.Pattern = "(\d)+"
End With
Set Myrange = ActiveSheet.Range("A1:A10")
For Each C In Myrange
OutPutStr = ""
Set RegMatchCollection = RegEx.Execute(C.Value)
If RegMatchCollection.Count > 0 Then
OutPutStr = ""
For i = 0 To RegMatchCollection.Count - 1 Step 1
OutPutStr = OutPutStr & " " & RegMatchCollection(i)
Next
C.Offset(0, 1) = "http://www.site.ru?id==" & RegMatchCollection(0) & "&id2====" & RegMatchCollection(0)
End If
Next
Set RegMatchCollection = Nothing
Set RegEx = Nothing
Set Myrange = Nothing
End Sub
В итоге рядом с исходным столбцом получится желаемый. Делал из какого-то примера с уровнем знаний в данном вопросе = нулю, так что сильно не пинать. Главное работает как требуется. Код:
www.site.ru?id==1 http://www.site.ru?id==1&id2====1 www.site.ru?id==2 http://www.site.ru?id==2&id2====2 www.site.ru?id==3 http://www.site.ru?id==3&id2====3 www.site.ru?id==4 http://www.site.ru?id==4&id2====4 www.site.ru?id==5 http://www.site.ru?id==5&id2====5 www.site.ru?id==6 http://www.site.ru?id==6&id2====6 www.site.ru?id==7 http://www.site.ru?id==7&id2====7 www.site.ru?id==8 http://www.site.ru?id==8&id2====8 www.site.ru?id==9 http://www.site.ru?id==9&id2====9 www.site.ru?id==10 http://www.site.ru?id==10&id2====10 Последний раз редактировалось SergoZD; 11.07.2005 в 19:27. |
|
|