Домашняя страница Undo Do Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Записи участника (krosav4ig) - Мир MS Excel

Результаты поиска
krosav4ig Дата: Понедельник, 03.08.2015, 18:16 | Сообщение № 841 | Тема: Извлечь число из текста
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант с UDF
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2})?((-| )?\d{2}){2,3}"
         Phone = IIf(.Test(str), Trim(.Execute(str)(0)), "")
     End With
End Function
[/vba]
К сообщению приложен файл: 7403382-1-.xls (36.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 03.08.2015, 18:27
 
Ответить
Сообщениееще вариант с UDF
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2})?((-| )?\d{2}){2,3}"
         Phone = IIf(.Test(str), Trim(.Execute(str)(0)), "")
     End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 03.08.2015 в 18:16
krosav4ig Дата: Вторник, 04.08.2015, 16:48 | Сообщение № 842 | Тема: Номер страницы из колонтитула в оглавление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как вариант, макрофункция
для работы нужно создать именованные диапазоны
нужно выделить листы с пунктами, выделил ячейку A1, нажать Ctrl+Shift+F3 (Формулы->Определенные имена->Создать из выделенного), нажать ОК (галочка должна быть на "в столбце слева")
сам код макрофункции находится на скрытом листе Макрос1
К сообщению приложен файл: 5224176.xls (45.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак вариант, макрофункция
для работы нужно создать именованные диапазоны
нужно выделить листы с пунктами, выделил ячейку A1, нажать Ctrl+Shift+F3 (Формулы->Определенные имена->Создать из выделенного), нажать ОК (галочка должна быть на "в столбце слева")
сам код макрофункции находится на скрытом листе Макрос1

Автор - krosav4ig
Дата добавления - 04.08.2015 в 16:48
krosav4ig Дата: Вторник, 04.08.2015, 17:22 | Сообщение № 843 | Тема: Номер страницы из колонтитула в оглавление
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
pips, в vbe листы макросов не отображаются. Чтобы его показать нужно ПКМ по ярлыку любого листа и выбрать показать


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеpips, в vbe листы макросов не отображаются. Чтобы его показать нужно ПКМ по ярлыку любого листа и выбрать показать

Автор - krosav4ig
Дата добавления - 04.08.2015 в 17:22
krosav4ig Дата: Среда, 05.08.2015, 13:36 | Сообщение № 844 | Тема: Выборка из массива по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
yuriknsk, нужно именно сдвинуть фильтр или просто скрыть слово Специальность?
если просто скрыть, то можно условным форматированием
К сообщению приложен файл: 1427069-1-.xlsm (21.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеyuriknsk, нужно именно сдвинуть фильтр или просто скрыть слово Специальность?
если просто скрыть, то можно условным форматированием

Автор - krosav4ig
Дата добавления - 05.08.2015 в 13:36
krosav4ig Дата: Среда, 05.08.2015, 13:41 | Сообщение № 845 | Тема: Выборка из массива по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
для сдвига можно поиграться срезами
К сообщению приложен файл: 1427069-2-.xlsm (24.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениедля сдвига можно поиграться срезами

Автор - krosav4ig
Дата добавления - 05.08.2015 в 13:41
krosav4ig Дата: Среда, 05.08.2015, 14:23 | Сообщение № 846 | Тема: Выборка из массива по условию
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
ага, связаны срезом (он скрыт), показать его можно через область выделения (Alt+F10)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 05.08.2015, 14:25
 
Ответить
Сообщениеага, связаны срезом (он скрыт), показать его можно через область выделения (Alt+F10)

Автор - krosav4ig
Дата добавления - 05.08.2015 в 14:23
krosav4ig Дата: Среда, 05.08.2015, 19:20 | Сообщение № 847 | Тема: Восстановление базы по прайсам
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Spartan77, как считать повторяющиеся артикулы (например 34356778037, 34356792571,34356789502 на 1 листе), у которых стоят разные значения в столбцах D и E?


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Среда, 05.08.2015, 19:40
 
Ответить
СообщениеSpartan77, как считать повторяющиеся артикулы (например 34356778037, 34356792571,34356789502 на 1 листе), у которых стоят разные значения в столбцах D и E?

Автор - krosav4ig
Дата добавления - 05.08.2015 в 19:20
krosav4ig Дата: Четверг, 06.08.2015, 17:25 | Сообщение № 848 | Тема: Восстановление базы по прайсам
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Spartan77, держите два еще варианта
01 - считается ежедневный приход/расход по первым трем столбцам
02 - считается ежедневный приход/расход по первым четырем столбцам

upd.
Заменил файлы, ошибочка была

upd.
еще раз заменил файлы, не весь приход считался, сейчас должно быть правильно

[p.s.]для корректной работы все исходные данные должны быть строго типизированы
т.е. в одном столбце должны быть значения одного типа данных
в исходном файле значения в столбцах были вперемешку (число и число, записанное текстом)
в столбце с ценой я заменил пробел и неразрывный пробел на пустоту и преобразовал во всех столбцах все числа записанные текстом в число
как преобразовать число, записанное текстом в число
К сообщению приложен файл: 0071815-01.xlsm (48.0 Kb) · 0071815-02.xlsm (50.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Пятница, 07.08.2015, 02:00
 
Ответить
СообщениеSpartan77, держите два еще варианта
01 - считается ежедневный приход/расход по первым трем столбцам
02 - считается ежедневный приход/расход по первым четырем столбцам

upd.
Заменил файлы, ошибочка была

upd.
еще раз заменил файлы, не весь приход считался, сейчас должно быть правильно

[p.s.]для корректной работы все исходные данные должны быть строго типизированы
т.е. в одном столбце должны быть значения одного типа данных
в исходном файле значения в столбцах были вперемешку (число и число, записанное текстом)
в столбце с ценой я заменил пробел и неразрывный пробел на пустоту и преобразовал во всех столбцах все числа записанные текстом в число
как преобразовать число, записанное текстом в число

Автор - krosav4ig
Дата добавления - 06.08.2015 в 17:25
krosav4ig Дата: Пятница, 07.08.2015, 03:00 | Сообщение № 849 | Тема: Извлечь число из текста
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
поправочка...
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Global = True
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2}((-| )?\d{2}){2})|\d{2}((-| )?\d{2}){2}"
         If .Test(str) Then
             Dim Item As Object
             For Each Item In .Execute(str)
                 Phone = Phone & IIf(Phone > "", vbLf, "") & Trim(Item)
             Next
         End If
     End With
End Function
[/vba]
К сообщению приложен файл: 7403382-3-.xls (41.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениепоправочка...
[vba]
Код
Function Phone(str$)
     With CreateObject("VBScript.RegExp")
         .Global = True
         .Pattern = "(((\+7|8)(|-| )?)?((\(|-| )?\d{3}(\)|-| )?){2}((-| )?\d{2}){2})|\d{2}((-| )?\d{2}){2}"
         If .Test(str) Then
             Dim Item As Object
             For Each Item In .Execute(str)
                 Phone = Phone & IIf(Phone > "", vbLf, "") & Trim(Item)
             Next
         End If
     End With
End Function
[/vba]

Автор - krosav4ig
Дата добавления - 07.08.2015 в 03:00
krosav4ig Дата: Вторник, 11.08.2015, 22:29 | Сообщение № 850 | Тема: Выбор из сочетания чисел наборов с наименьшими повторениями
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
раз все-таки тема в разделе Вопросы по Excel, предложу формульный вариант (только для небольшого количества исходных данных, ибо формула массивная и вычисляется медленно)
в файле из 4 поста добавил сверху пустую строку, в F1 число 2 (кол-во повторов), ниже формула
Код
=Ч(МАКС(ЕСЛИ(F$1:F1;МУМНОЖ(СЧЁТЕСЛИ(A2:E2;A$1:E1);СТРОКА($1:$5)^0)))<=F$1)
плюс УФ
К сообщению приложен файл: 8417175-1.xls (41.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениераз все-таки тема в разделе Вопросы по Excel, предложу формульный вариант (только для небольшого количества исходных данных, ибо формула массивная и вычисляется медленно)
в файле из 4 поста добавил сверху пустую строку, в F1 число 2 (кол-во повторов), ниже формула
Код
=Ч(МАКС(ЕСЛИ(F$1:F1;МУМНОЖ(СЧЁТЕСЛИ(A2:E2;A$1:E1);СТРОКА($1:$5)^0)))<=F$1)
плюс УФ

Автор - krosav4ig
Дата добавления - 11.08.2015 в 22:29
krosav4ig Дата: Вторник, 11.08.2015, 22:51 | Сообщение № 851 | Тема: Упрощение формулы "счётеслимн" по условиям 1 месяца квартала
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант
Код
=СУММПРОИЗВ(Ч(ОСТАТ(МЕСЯЦ(1&A1:L1)+2;3)=0))


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще вариант
Код
=СУММПРОИЗВ(Ч(ОСТАТ(МЕСЯЦ(1&A1:L1)+2;3)=0))

Автор - krosav4ig
Дата добавления - 11.08.2015 в 22:51
krosav4ig Дата: Среда, 12.08.2015, 01:16 | Сообщение № 852 | Тема: Упрощение формулы "счётеслимн" по условиям 1 месяца квартала
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
Сергей, точно yes Наверно мой мозг ушел спать, когда формулу писал :)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
СообщениеСергей, точно yes Наверно мой мозг ушел спать, когда формулу писал :)

Автор - krosav4ig
Дата добавления - 12.08.2015 в 01:16
krosav4ig Дата: Среда, 12.08.2015, 03:07 | Сообщение № 853 | Тема: Скрыть пустые строки
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще пара вариантов
1 без макросов, фильтром по доп столбцу (O:O) с формулой
Код
=СУММ(ИНДЕКС(C:C;СТРОКА()-ОСТАТ(СТРОКА(O1)-1;3)):ИНДЕКС(M:M;СТРОКА(O6)-ОСТАТ(СТРОКА(O3);3));ИНДЕКС(A:A;СТРОКА()-ОСТАТ(СТРОКА(O1)-1;3))=СЕГОДНЯ())>0

2 макрос
[vba]
Код
Private Sub Workbook_Open()
     Application.ScreenUpdating = 0
     Sheets("Лист").Activate
     With [C4:M4].Resize(Application.CountA([B:B]) - 1)
         .EntireRow.Hidden = True
         .SpecialCells(2, 23).EntireRow.Select
         With .Offset(, -2).Find(Date)
             Union(Selection, .Resize(3)).EntireRow.Hidden = False
             Application.Goto .Cells, True
         End With
     End With
     Application.ScreenUpdating = 1
End Sub
[/vba]
К сообщению приложен файл: 8417175-2-1.zip (67.5 Kb) · 8417175-2-2.xlsm (78.1 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениееще пара вариантов
1 без макросов, фильтром по доп столбцу (O:O) с формулой
Код
=СУММ(ИНДЕКС(C:C;СТРОКА()-ОСТАТ(СТРОКА(O1)-1;3)):ИНДЕКС(M:M;СТРОКА(O6)-ОСТАТ(СТРОКА(O3);3));ИНДЕКС(A:A;СТРОКА()-ОСТАТ(СТРОКА(O1)-1;3))=СЕГОДНЯ())>0

2 макрос
[vba]
Код
Private Sub Workbook_Open()
     Application.ScreenUpdating = 0
     Sheets("Лист").Activate
     With [C4:M4].Resize(Application.CountA([B:B]) - 1)
         .EntireRow.Hidden = True
         .SpecialCells(2, 23).EntireRow.Select
         With .Offset(, -2).Find(Date)
             Union(Selection, .Resize(3)).EntireRow.Hidden = False
             Application.Goto .Cells, True
         End With
     End With
     Application.ScreenUpdating = 1
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 12.08.2015 в 03:07
krosav4ig Дата: Четверг, 13.08.2015, 02:30 | Сообщение № 854 | Тема: Заполнение нескольких конечных таблиц по базовой таблице
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
как-то так
Код
=ЕСЛИОШИБКА(ИНДЕКС(Данные!$C$2:$C$13;НАИМЕНЬШИЙ(ЕСЛИ((Данные!$A$2:$A$13=ОТБР((СТОЛБЕЦ()-1)/5)+1)*(Данные!$B$2:$B$13=$A3);СТРОКА($1:$12));ОСТАТ(СТОЛБЕЦ()-1;5)));"")
К сообщению приложен файл: 5367910.xlsx (11.3 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениекак-то так
Код
=ЕСЛИОШИБКА(ИНДЕКС(Данные!$C$2:$C$13;НАИМЕНЬШИЙ(ЕСЛИ((Данные!$A$2:$A$13=ОТБР((СТОЛБЕЦ()-1)/5)+1)*(Данные!$B$2:$B$13=$A3);СТРОКА($1:$12));ОСТАТ(СТОЛБЕЦ()-1;5)));"")

Автор - krosav4ig
Дата добавления - 13.08.2015 в 02:30
krosav4ig Дата: Среда, 19.08.2015, 19:52 | Сообщение № 855 | Тема: копирование данных из файла pdf, лежащего на сайте
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
rosko,
по первому вопросу из 1 поста: зачем pdf, если у минфина есть опендата 7710168360-BanksID?
в файле сделал несколько вариантов получения списка банков
+
на основе кода doober сделал еще 1 вариант получения закупок, если при первом запросе (выбор из справочника) возвращается >1 значения, выпадает форма для выбора нужного, выбор двойным тыком
на форме контрол MSFlexgird, если у вас он не установлен, работать не будет, в архиве msflxgrd_ocx.zip нужные файлы, копируем в system32 (если x64 - в syswow64) и запускаем install_msflxgrd
К сообщению приложен файл: 2224312.zip (98.0 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 20.08.2015, 01:46
 
Ответить
Сообщениеrosko,
по первому вопросу из 1 поста: зачем pdf, если у минфина есть опендата 7710168360-BanksID?
в файле сделал несколько вариантов получения списка банков
+
на основе кода doober сделал еще 1 вариант получения закупок, если при первом запросе (выбор из справочника) возвращается >1 значения, выпадает форма для выбора нужного, выбор двойным тыком
на форме контрол MSFlexgird, если у вас он не установлен, работать не будет, в архиве msflxgrd_ocx.zip нужные файлы, копируем в system32 (если x64 - в syswow64) и запускаем install_msflxgrd

Автор - krosav4ig
Дата добавления - 19.08.2015 в 19:52
krosav4ig Дата: Среда, 19.08.2015, 19:52 | Сообщение № 856 | Тема: копирование данных из файла pdf, лежащего на сайте
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
К сообщению приложен файл: msflxgrd_ocx.zi.001 (100.0 Kb) · msflxgrd_ocx.zi.002 (66.9 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 20.08.2015, 01:43
 
Ответить
Сообщение

Автор - krosav4ig
Дата добавления - 19.08.2015 в 19:52
krosav4ig Дата: Четверг, 20.08.2015, 04:28 | Сообщение № 857 | Тема: Вычленение дат из ячейки с текстом
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
еще вариант, с учетом времени
формула
Код
=МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A2;"(";);")";);"
";ПОВТОР(" ";999));1+(СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(A2&0)-ДЛСТР(ПОДСТАВИТЬ(A2;"
";))))-1)*999;999));))

UDF
[vba]
Код
Function LastDateInText(Text As String) As Date
     Dim s$
     With CreateObject("VBScript.RegExp")
         .Pattern = ".*(\d\d)\.(\d\d)\.(\d{4})( \(([\d:]{5}))?[^\d]?|[\s\S]+"
         .Global = True: .MultiLine = True
         Set f = .Execute(Text)
         s = "--{" & .Replace(Text, """$2-$1-$3 $5""" & ",") & "0}"
     End With
     With Application
          LastDateInText = .Max(.IfError(Evaluate(.Trim(s)), 0))
     End With
End Function
[/vba]
+числовой формат и условное форматирование
К сообщению приложен файл: _2003.xls (34.5 Kb)


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Четверг, 20.08.2015, 04:37
 
Ответить
Сообщениееще вариант, с учетом времени
формула
Код
=МАКС(ЕСЛИОШИБКА(--СЖПРОБЕЛЫ(ПСТР(ПОДСТАВИТЬ(ПОДСТАВИТЬ(ПОДСТАВИТЬ(" "&A2;"(";);")";);"
";ПОВТОР(" ";999));1+(СТРОКА(A$1:ИНДЕКС(A:A;ДЛСТР(A2&0)-ДЛСТР(ПОДСТАВИТЬ(A2;"
";))))-1)*999;999));))

UDF
[vba]
Код
Function LastDateInText(Text As String) As Date
     Dim s$
     With CreateObject("VBScript.RegExp")
         .Pattern = ".*(\d\d)\.(\d\d)\.(\d{4})( \(([\d:]{5}))?[^\d]?|[\s\S]+"
         .Global = True: .MultiLine = True
         Set f = .Execute(Text)
         s = "--{" & .Replace(Text, """$2-$1-$3 $5""" & ",") & "0}"
     End With
     With Application
          LastDateInText = .Max(.IfError(Evaluate(.Trim(s)), 0))
     End With
End Function
[/vba]
+числовой формат и условное форматирование

Автор - krosav4ig
Дата добавления - 20.08.2015 в 04:28
krosav4ig Дата: Четверг, 20.08.2015, 16:44 | Сообщение № 858 | Тема: копирование данных из файла pdf, лежащего на сайте
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
rosko, это 1 архив, разбитый на 2 части, переименовывать не нужно, открывается архиватором через файл .001


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460
 
Ответить
Сообщениеrosko, это 1 архив, разбитый на 2 части, переименовывать не нужно, открывается архиватором через файл .001

Автор - krosav4ig
Дата добавления - 20.08.2015 в 16:44
krosav4ig Дата: Суббота, 22.08.2015, 05:24 | Сообщение № 859 | Тема: копирование данных из файла pdf, лежащего на сайте
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
rosko, совсем из головы вылетело, вот так должно быть, и забыл сказать, что после установки нужно перезапустить excel
[vba]
Код
#If Win64 Then
         Private Const d$ = "%windir%\syswow64\"
         Private Const b$ = "wow6432node\Microsoft"
#Else
         Private Const d$ = "%windir%\system32\"
         Private Const b$ = "Microsoft"
#End If
Sub install_msflxgrd()
         With CreateObject("WScript.Shell")
             .RegWrite "HKLM\SOFTWARE\" & b$ & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags", 0, "REG_DWORD"
             .RegWrite "HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30\", "ibcbbbebqbdbciebmcobmbhifcmciibblgmf", "REG_SZ"
             .Run "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll"
         End With
End Sub
[/vba]
если разрядность ОС отличается от разрядности Excel, то можно [vba]
Код
Sub install_msflxgrd()
      Dim d$, b$
      If Len(Environ("ProgramW6432")) > 0 Then
          d = "%windir%\syswow64\"
          b = "wow6432node\Microsoft"
      Else
          d = "%windir%\system32\"
          b = "Microsoft"
      End If
      With CreateObject("WScript.Shell")
          .RegWrite "HKLM\SOFTWARE\" & b$ & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags", 0, "REG_DWORD"
          .RegWrite "HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30\", "ibcbbbebqbdbciebmcobmbhifcmciibblgmf", "REG_SZ"
          .Run "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll"
      End With
End Sub
[/vba][p.s.]если включен UAC, то excel должен быть запущен с правами администратора


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Суббота, 22.08.2015, 18:12
 
Ответить
Сообщениеrosko, совсем из головы вылетело, вот так должно быть, и забыл сказать, что после установки нужно перезапустить excel
[vba]
Код
#If Win64 Then
         Private Const d$ = "%windir%\syswow64\"
         Private Const b$ = "wow6432node\Microsoft"
#Else
         Private Const d$ = "%windir%\system32\"
         Private Const b$ = "Microsoft"
#End If
Sub install_msflxgrd()
         With CreateObject("WScript.Shell")
             .RegWrite "HKLM\SOFTWARE\" & b$ & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags", 0, "REG_DWORD"
             .RegWrite "HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30\", "ibcbbbebqbdbciebmcobmbhifcmciibblgmf", "REG_SZ"
             .Run "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll"
         End With
End Sub
[/vba]
если разрядность ОС отличается от разрядности Excel, то можно [vba]
Код
Sub install_msflxgrd()
      Dim d$, b$
      If Len(Environ("ProgramW6432")) > 0 Then
          d = "%windir%\syswow64\"
          b = "wow6432node\Microsoft"
      Else
          d = "%windir%\system32\"
          b = "Microsoft"
      End If
      With CreateObject("WScript.Shell")
          .RegWrite "HKLM\SOFTWARE\" & b$ & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags", 0, "REG_DWORD"
          .RegWrite "HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30\", "ibcbbbebqbdbciebmcobmbhifcmciibblgmf", "REG_SZ"
          .Run "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll"
      End With
End Sub
[/vba][p.s.]если включен UAC, то excel должен быть запущен с правами администратора

Автор - krosav4ig
Дата добавления - 22.08.2015 в 05:24
krosav4ig Дата: Понедельник, 24.08.2015, 00:13 | Сообщение № 860 | Тема: копирование данных из файла pdf, лежащего на сайте
Группа: Друзья
Ранг: Старожил
Сообщений: 2348
Репутация: 997 ±
Замечаний: 0% ±

Excel 2007,2010,2013
rosko, видимо у вас ограниченная учетная запись, попробуйте так
[vba]
Код
#If VBA7 Then
      Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
          ByVal hWnd As LongPtr, _
          ByVal lpOperation As String, _
          ByVal lpFile As String, _
          ByVal lpParameters As String, _
          ByVal lpDirectory As String, _
          ByVal nShowCmd As Long _
      ) As LongPtr
#Else
      Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
          ByVal hWnd As Long, _
          ByVal lpOperation As String, _
          ByVal lpFile As String, _
          ByVal lpParameters As String, _
          ByVal lpDirectory As String, _
          ByVal nShowCmd As Long _
      ) As Long
#End If

Public Sub install_msflxgrd()
      Dim d$, b$
      If Len(Environ("ProgramW6432")) > 0 Then
          d = "%windir%\syswow64\"
          b = "wow6432node\Microsoft"
      Else
          d = "%windir%\system32\"
          b = "Microsoft"
      End If
    ShellExecute 0, "runas", "cmd.exe", "/c " & _
      "REG ADD ""HKLM\SOFTWARE\" & b & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags"" /f /t REG_SZ /d 0&&" & _
      "REG ADD ""HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30"" /f /t REG_SZ /d ibcbbbebqbdbciebmcobmbhifcmciibblgmf&&" & _
      "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll", "", 0
End Sub
[/vba]


email:krosav4ig26@gmail.com WMR R207627035142 WMZ Z821145374535 ЯД 410012026478460

Сообщение отредактировал krosav4ig - Понедельник, 24.08.2015, 02:07
 
Ответить
Сообщениеrosko, видимо у вас ограниченная учетная запись, попробуйте так
[vba]
Код
#If VBA7 Then
      Private Declare PtrSafe Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
          ByVal hWnd As LongPtr, _
          ByVal lpOperation As String, _
          ByVal lpFile As String, _
          ByVal lpParameters As String, _
          ByVal lpDirectory As String, _
          ByVal nShowCmd As Long _
      ) As LongPtr
#Else
      Private Declare Function ShellExecute Lib "shell32.dll" Alias "ShellExecuteA" ( _
          ByVal hWnd As Long, _
          ByVal lpOperation As String, _
          ByVal lpFile As String, _
          ByVal lpParameters As String, _
          ByVal lpDirectory As String, _
          ByVal nShowCmd As Long _
      ) As Long
#End If

Public Sub install_msflxgrd()
      Dim d$, b$
      If Len(Environ("ProgramW6432")) > 0 Then
          d = "%windir%\syswow64\"
          b = "wow6432node\Microsoft"
      Else
          d = "%windir%\system32\"
          b = "Microsoft"
      End If
    ShellExecute 0, "runas", "cmd.exe", "/c " & _
      "REG ADD ""HKLM\SOFTWARE\" & b & "\Internet Explorer\ActiveX Compatibility\{6262D3A0-531B-11CF-91F6-C2863C385E30}\Compatibility Flags"" /f /t REG_SZ /d 0&&" & _
      "REG ADD ""HKCR\Licenses\72E67120-5959-11cf-91F6-C2863C385E30"" /f /t REG_SZ /d ibcbbbebqbdbciebmcobmbhifcmciibblgmf&&" & _
      "regsvr32 /s " & d & "msflxgrd.ocx " & d & "msstkprp.dll", "", 0
End Sub
[/vba]

Автор - krosav4ig
Дата добавления - 24.08.2015 в 00:13
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2025 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!