Выбрать дату в календареВыбрать дату в календаре

Страницы: 1 2 3 4 5 6 7 След.
Парсинг HTML кода страницы, ошибка 401 not authorized
 
doober, Run-time error '-2147024891 (80070005)' Отказано в доступе :(

Гугл только такое выдает, но там решение связанное с настройками Defender'а, которые мне не изменить на рабочем ПК. (есть еще выдача, не так вбил в поиск, почитаю тоже сейчас) Что-то можно еще попробовать?
Изменено: whateverlover - 17.05.2022 09:34:54
Парсинг HTML кода страницы, ошибка 401 not authorized
 
Цитата
Игорь написал:
Откройте эту саму страницу в браузере Internet Explorer (именно в нём, а не в Edge)
Пробовал в IE открывать, страница открывается, не требуя авторизации.
Цитата
edkudin написал:
А потом используйте функцию от nilske (только без строки .SetRequestHeader "Accept-Encoding", "deflate")
Применил функцию, закомментировав данную строку и с ней, в итоге в GetHTTPResponse просто "" (она пустая).

Excel 2016, Windows 10. Через Данные - Из Интернета я могу подключиться к этой странице, значит у Excel есть к ней доступ.
Изменено: whateverlover - 16.05.2022 17:16:28
Парсинг HTML кода страницы, ошибка 401 not authorized
 
Друзья, добрый день!
Пытаюсь получить html-код страницы корпоративного портала (помогающие не смогут на него зайти).
Если я просто вставляю ссылку в любой из браузеров на рабочем ПК - она открывается.
Если через любой из найденных мною кодов в интернете - выдает либо "", либо "401 UNAUTHORIZED" вместо html-кода в Immediate.
Как можно обойти такой момент?

Спасибо.

Код
Function GetResponse(ByVal URL$) As String
    On Error Resume Next: Err.Clear
    Static xmlhttp As WinHttpRequest
    If xmlhttp Is Nothing Then Set xmlhttp = New WinHttpRequest
 
    xmlhttp.Open "GET", URL$, True: DoEvents
    xmlhttp.send: DoEvents
 
    If Not xmlhttp.WaitForResponse(timeout&) Then
        Debug.Print "timeout", URL: Exit Function
    End If
 
    GetResponse = xmlhttp.responseText
End Function
Sub test() ' пример использования
    On Error Resume Next
    txt = GetResponse("http://******.******.ru/_layouts/listform.aspx?PageType=4&ListId={C1A84F4D-04EC-499A-8C4D-69D319B5316C}&ID=27/")
    Debug.Print Len(txt) ' возвращает длину текста: 62737 символов
End Sub
Изменено: whateverlover - 13.05.2022 12:42:05
Вставка картинки из файла Excel в документ Word, Вставка картинки из файла Excel в документ Word
 
Цитата
Олег Кулиничев написал:
А как по поводу места в документе? возможно привязать картинку к "закладке" в Word?
Объектную модель Word не знаю, нагуглил вот такое:
Код
ActiveDocument.Bookmarks("TEST").Range.InlineShapes.AddPicture FileName:="P:\test.png"

Я так понимаю, эта строчка вставит картинку В закладку "TEST". Попробуйте, может это не то.
Я в своем варианте привязывался к строчке, содержащей фразу "руководитель проекта" и вставлял в ту же строчку, но с определенным отступом вправо.
Изменено: whateverlover - 29.03.2022 00:26:20
Вставка картинки из файла Excel в документ Word, Вставка картинки из файла Excel в документ Word
 
моя печать  :D
Код
t.WrapFormat.Type = wdWrapNone

Вот это, скорей всего, отвечает за то "в тексте" она будет или "за текстом". Вот тут можно посмотреть какие есть варианты, вам, я так понял, подойдет wdWrapBehind.
Вставить пустые строки по условию
 
kompilainenn, лучше делать файл-пример.
При условии, что с ячейки A1 начинается.

Код
Sub InsertRows()

    Set Rng = Range("A1").CurrentRegion
    RowsCount = Rng.Rows.Count
    
    For i = RowsCount To 1 Step -1
        If Range("B" & i).Value = "м" Then Rows(i).Insert: Rows(i).Insert
        If Range("B" & i).Value = "шт" Then Rows(i).Insert
    Next i
    
End Sub
Копирование данных
 
Название, конечно, так себе, у Вас же проблема с шириной столбцов при копировании из одной книги в другую, а не просто проблема с копированием.
Попробуйте через специальную вставку, там есть пункт "ширина столбцов" ("сохранить ширину столбцов" в 2010 офисе).
Название "вставка с сохранением ширины столбов оригинала".
Изменено: whateverlover - 19.11.2021 09:42:41
Заполнение пустых ячеек значениями из верхних, help
 
alex, это нужно? https://www.planetaexcel.ru/techniques/2/96/
пример названия темы "Заполнение пустых ячеек значениями из верхних ячеек"
Форматировать сумму курсивом и подчеркиванием, находящуюся между словом "составляет" и открывающей скобки "("
 
Ибрагим Белхороев, типо такого можно, только еще надо проверку добавить на то, есть ли в ячейке такие вещи как "составляет" и " (".

Код
Sub formatA1()

    cell = Range("A1").Value
    m1 = InStr(cell, "составляет ") + 11
    m2 = InStr(m1, cell, " (")
   
    With Range("A1").Characters(Start:=m1, Length:=m2 - m1).Font
        .Italic = True
        .Underline = True
    End With

End Sub
Изменено: whateverlover - 17.11.2021 13:41:01
PQ обратиться к таблицу по имени, а не по индексу
 
Антон, )) спасибо, работает)
PooHkrd, спасибо, по сути, у Антона то же самое, но Ваш вариант почему-то не хочет запускаться. Но это я косячный скорей всего, буду разбираться, что не так делаю) Пишет:
Цитата
Expression.Error: Ключу не соответствует ни одна строка в таблице.
Сведения:
   Key=Record
   Table=Table
PQ обратиться к таблицу по имени, а не по индексу
 
Друзья, добрый день!
Открываю xls файл как xml
Код
Xml.Tables(File.Contents("filepath))

Затем нажимаю на таблицу, чтобы ее развернуть:

В результате создается такой шаг.

Если я правильно понял, то открывается "нулевой" элемент. Если в моем случае имя этой таблицы одинаково всегда, но индекс у него может быть разный, как мне обратиться не по индексу, а по имени?
Пробовал так и еще много как...не работает.
Код
Table{"urn:schemas-microsoft-com:office:office"}[Table]

Если файл пример будет необходим для этой задачи, постараюсь выложить. Просто с рабочего ПК не очень удобно, а задача, вроде, решается на уровне совета.  :)

Спасибо.
Получить кодировку файла через PQ
 
Антон, спасибо большое, сработало, всегда выручаете)
Получить кодировку файла через PQ
 
Антон, как применить кодировку я разобрался, а вот как ее получить. Т.е. результатом запроса должен быть номер кодировки. В данном случае 1251 хотелось бы получить в результате.
Получить кодировку файла через PQ
 
Друзья, добрый день!
Пытаюсь получить через PQ кодировку файла, чтобы на ее основе применять ту или иную функцию.
Открываю файл как XML (во вложении файл) и, облазил все таблицы, которые там открываются, но не нахожу где этот параметр encoding.
При этом, открывая файл блокнотом, это первая строчка.

Подскажите, почему не нахожу параметр encoding через PQ или как-то по-другому подскажите как через PQ кодировку файла получить.

Спасибо.
UDF получить данные из закрытой книги по номеру договора
 
Jack Famous, благодарю)
Статью читал, остановился на ADO, для себя прикрутить не смог пример по ссылке, переделал под себя вариант с ютуб канала WiseOwl, но тормознуто получилось.
Попробую все остальные тогда, авось они побыстрее.
Файл выдает ошибку при открытии и PQ с ним не работает
 
Антон, файл открылся, но в виде множества других каких-то таблиц  :)
Спасибо, буду разбираться, PQ знаю очень поверхностно.
UDF получить данные из закрытой книги по номеру договора
 
New, огромное спасибо! Учусь по всем кодам, которые мне скидывают  :)
По поводу Вашего примера с ADO, у меня ведь, как я писал, файл source будет не один, а разный, в зависимости от аргументов функции. Соответственно имя файла в константу не имеет смысла выносить. И тогда, если я правильно понял, CN и RS тоже не стоит проверять, т.к. получил я RS из файла source1, а при следующем вызове функции мне уже надо из source2...а функция проверит, что RS не nothing, и не будет recordset собирать из файла source2.
Еще раз спасибо.  :)
А может ли функция вызвать в себе же процедуру, которая значение ячейки, из которой вызывается функция, вставит как значение?
Изменено: whateverlover - 28.10.2021 10:08:23
Файл выдает ошибку при открытии и PQ с ним не работает
 
Добрый вечер, друзья!
Есть много файлов, которые выкладывают в сетевую папку, на них повлиять не могу, как они создаются не знаю.
Но при открытии вручную выдает следующую ошибку. Если согласиться, то с файлом можно спокойно работать (файл во вложении).
Ошибка 1

И, соответственно, при открытии файла через PQ получаю следующую ошибку.
Ошибка 2

Вопрос: можно ли через PQ открыть данный файл для дальнейшей работы с ним? Как-то игнорировать данное сообщение при открытии.
Нужно именно через PQ.

Спасибо.
Изменено: whateverlover - 28.10.2021 00:36:36
UDF получить данные из закрытой книги по номеру договора
 
New, спасибо, посмотрю, что за ошибка.
  Нужна именно функция, делаю для женщин-бухгалтеров, им, во-первых, даже кнопку будет сложно нажать, во-вторых у всех файл (MAIN в моем случае) имеет разную структуру и не угадать куда и чего вставлять в каждом конкретном случае.
  А функция, удобно, возвращает значение туда же куда вводится, к работе с формулами многие приучены.
  Хотелось бы получить такое, функция GetPayer(Банк, Год, Месяц)...и функция идет в папку с банком, там в папку с годом, далее в папку с месяцем и там из файла получает значение.
  Вопрос в том какой способ быстрый и очень бы хотелось через ADO, по возможности, нравится этот способ, книга не открывается (дада, сейчас скажут, что она где-то как-то все-таки открывается  :) )
Изменено: whateverlover - 28.10.2021 00:28:53
UDF получить данные из закрытой книги по номеру договора
 
Друзья, доброго времени суток!

  Хочу создать функцию, получения плательщика по номеру договора из закрытого файла, которая будет вызываться с листа (аналог ВПР, получить необходимо только первое значение, даже если оно не одно, сейчас в функции, если значение не одно оно просто красится желтым).
  Сделал свой вариант через ADO (во вложении, положить оба файла в одну папку, в книге MAIN функция GetPayer). Работает очень долго, в рабочем файле source порядка 100к строк. При каждом вызове функции формируется recordset.
  Также при каком-либо изменении на листе, связи, я так понимаю, пересчитываются...вообщем пользоваться невозможно.
  Прошу указать, что мне изменить, чтобы работало пошустрей (если возможен шустрый вариант через ADO, то прошу подсказать в этом направлении). Если по ADO в любом случае тормознуто будет получаться, то какой вариант будет для меня самым быстрым.
  Возможно, есть какие-то функции, работающие с закрытыми книгами, которые функция просто будет прописывать.
  Как-то делал нечто похожее, но не из закрытой книги и книга была одна. Здесь мне подсказали сделать Static Dictionary, для первой ячейки словарь формируется какое-то время, зато при протягивании формулы, остальные позиции подтягиваются быстро. Но в данном случае у меня, в рабочей ситуации, файл source не один, их много, файл будет определяться по условию в макросе, не делать же для каждого файла свой словарь.
  Подскажите, как бы Вы реализовали эту задачу. Благодарен любым советам.

  Спасибо.
Получить координаты указателя мыши через диалог с пользователем
 
БМВ, да, забыл упомянуть...
Речь идет об элементах программы 1С, т.е. стороннее приложение. Интересует их абсолютное расположение на экране в пикселях, что и делает приложенный мой первый код. Если это важно, то монитора два.

Вроде вот так работает, мою проблему решает, но некрасиво:
Код

Буду благодарен, если кто подскажет, как сделать, чтобы пользователю предлагалось кликнуть на условный плюсик, и по клику мышью, координаты плюсика добавлялись бы в переменную.
Изменено: whateverlover - 18.10.2021 22:40:07
Получить координаты указателя мыши через диалог с пользователем
 
Друзья, добрый день!
Решаю такую задачу: для работы макроса необходимо знать, где располагаются определенные элементы на мониторе в данный момент (расположение может быть разное, но в рамках одного цикла работы макроса элементы находятся в одном положении). Для этого хотелось бы, чтобы программа спросила через Inputbox или как-то еще, например, "Щелкните на элементе <плюсик>", пользователь щелкает мышкой на плюсике (либо же наводит на плюсик и нажимает какую-то кнопку, если мышкой нельзя щелкать) и координаты мыши добавляются в переменную, с которой потом уже будем работать.

Нашел такой код:
Код
Он отлично работает, встаю мышью куда мне надо, нажимаю F5, получаю координаты.
Как это реализовать применимо к описанной выше идее, что это должен быть диалог с пользователем?
Нужно какую-то свою форму рисовать? Покажите, пожалуйста, на примере "появилось окно с просьбой указать элемент - я кликаю на элемент - координаты попали в переменную".

Спасибо.

Update: или вот еще какую красоту нашел :-) (если запустить, и таймер бегает и в режиме реального времени координаты отображаются). Как прикрутить, чтобы спрашивало у пользователя кликнуть в точку, у которой нужно получить координаты.
Код
Изменено: whateverlover - 18.10.2021 15:29:05
VBA макрос Импорт CSV с использованием местоположения текущего файла
 
Neytle, Я чуть попозже посмотрю.
А Вы бы написали задачу целиком. Вам нужно из той же папки, в которой лежит Excel-файл с макросом, все csv файлы, которые содержат "Invited" в названии, куда поместить (на лист, один под один или каждый csv на отдельный лист или что)? Или только первый файл?
А то чувствую, что подскажу, но это общую проблему не решит.
Цитата
Neytle написал:
3) Указать динамически разное значение в  .TextFilePlatform = 1252 (в данном файле 12523 строки, в другом будет меньше)
А этот параметр как зависит от кол-ва строк в файле?
Изменено: whateverlover - 13.10.2021 11:15:36
Более одного разделителя в schema.ini
 
Да, действительно, табуляция есть)
А почему же тогда "родную" табуляцию из файла он разбивает по столбцам, а мою склеивает в одном столбце.
Цитата
БМВ написал:
сразу в запросе
Это я пока не умею. Да и всегда хочется понять, почему не работает что-то так, как ты думаешь должно работать)

Кажется, понимаю, что на столбцы он разбивает раньше, чем я делаю Replace. Ведь я уже каким-то образом обращаюсь к столбцам F1, F2 И т.д.
Изменено: whateverlover - 10.10.2021 16:15:36
Более одного разделителя в schema.ini
 
Решил пойти по пути наименьшего кол-ва исправлений в коде и сделать следующее (замена в необходимом столбце точки с запятой на chr(9)):
Код
.Source = "SELECT F1, REPLACE(F15, ';', Chr(9)) as F2, F3 FROM " & "[" & TxtFile & "] " & ""

И в итоге получил склееный текст:


Почему так получается? Chr(9) это же табуляция, а не пустота. При этом, если заменяю на, например, "!!!!!!!!!!!", то замена происходит корректно.
Как-будто он заменяет на табуляцию, но потом не может эту табуляцию разбить по столбцам. И тупо убирает ее совсем.
Посмотрите, пожалуйста, файл приложил к первому сообщению, положить текстовый в файл в одну папку с Excel-файлом.
Более одного разделителя в schema.ini
 
sokol92, добрый день!
Спасибо, попробуем и этот вариант :-)
Более одного разделителя в schema.ini
 
БМВ, спасибо
Более одного разделителя в schema.ini
 
Цитата
JayBhagavan написал:
"текст по столбцам"
Это же ведь сначала нужно выгрузить на лист, а потом разбивать по столбцам. Хотелось бы на лист выгрузить все готовое.

БМВ, как содержимое текстового файла получить в строку?
Через ADO делал, просто чтобы разобраться, что такое это ADO и понравилось тем, что файлы бывают разные и достаточно лишь команду SQL поменять, чтобы работало со слегка видоизмененными файлами.
Изменено: whateverlover - 10.10.2021 09:50:07
Более одного разделителя в schema.ini
 
doober, ну да, он один, но задача еще и по точке запятой разделить. В рамках лишь указания разделителей в schema.ini нельзя так сделать?
И как тогда это сделать красиво и лаконично.

На всякий случай, прикладываю весь код, которым эти манипуляции производятся. PQ не подходит, понимаю, что на нем это все гораздо проще. На картинке желаемый результат.

Код


Может на уровне SQL запроса делать замену точки с запятой на табуляцию? Только в нужном мне столбце (столбец О на скрине doober'a). Можно так?
Изменено: whateverlover - 10.10.2021 08:42:27
Более одного разделителя в schema.ini
 
Друзья, добрый день!
Получаю по ADO данные из текстовых файлов. Автоматически создается файл schema.ini.
Там в строчке "Format = TabDelimited" указываю желаемый разделитель.
А как быть, если разделителя два или больше? В приложенном файле разделители табуляция и точка с запятой.

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


Спасибо.
Изменено: whateverlover - 10.10.2021 15:02:14
Страницы: 1 2 3 4 5 6 7 След.
Наверх