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

Страницы: 1 2 3 4 5 6 7 8 9 След.
хитро сломанный файл, уменьшилось количество доступных строк
 
Hugo, спасибо, точно!
но похоже что проблема была не в этом
помогите пожалуйста ещё понять что заставляет отображаться все миллион строк и как их удалить?
хитро сломанный файл, уменьшилось количество доступных строк
 
добрый день

получил от коллег для возможного ремонта эксель файл. В файле перестали нажиматься кнопки макросов. Визуально то пропадали то появлялись. При нажатии вели себя как будто в режиме конструктора, а если нажимались то не отжимались. Также на листе правая полоса прокрутки прокручивалась до последней возможной строки (миллион с чем-то). Удаление пустых строк с переоткрытием файла не помогало от них избавиться.
Методом исключения начал искать проблему. Поудалял все макросы, все объекты с листа, обычные и условные форматирования, данные ячеек, связи. Даже пересохранил в другой формат (был xlsm). В итоге остался пустой файл с одним листом и максимальным количеством строк. И вот после удаления первого столбца получился лист в котором 1963 строки. Впервые в жизни такое вижу. Другие листы создаются нормальными.
Подскажите что его заставляет быть таким и как вернуть лист в норму?
Понимание необходимо для ремонта изначального файла (там много всего на листе и переносить вручную на вновь созданный лист затруднительно)
Экспорт из Excel в XML с помощью макроса на VBA, Выгрузка в XML
 
Андрей VG, за
Процедуру для придания XML читабельного вида (с отступами) отдельное спасибо!

Скрытый текст


ничего непонятно, но работает прекрасно - магия)
загрузка файла на сайт через форму с помощью VBA
 
боюсь что офтоп..но и всё же

Jungl, благодаря вашему коду, спустя всего-то каких-то 2 года ) я разобрался с процессом валидации xml на сайте https://xmltools.corefiling.com/miniSchemaValidate/results.jsp


Скрытый текст
Изменено: Максим - 28.01.2022 17:06:25
Подгонка одного значения из четырех для получения результата
 
buchlotnik искренне спасибо Вам за то что вникли в вопрос. простите за резковатый ответ. согласен что не очень корректно изначально сформулировал вопрос, но если бы описал реальный пример, то вообще запутался бы в объяснении.
понял что универсального подхода нет. пошёл изучать ЛИНЕЙН().
ещё раз спасибо
Подгонка одного значения из четырех для получения результата
 
пример на то и пример. зависимость в нём специально тупая и очевидная.

у меня задача не определить зависимость в этом примере (я её сам придумал), а найти способ определять эту зависимость с помощью экселя.

как вы определили что в моём примере зависимость "сумма первых двух минус третье"? вот мне нужно чтобы это эксель мне определил.
Изменено: Максим - 30.06.2021 18:38:25
Подгонка одного значения из четырех для получения результата
 
есть 4 числа. Какие-то математические действия с первыми 3 из них приводят к получению 4го числа.
1е и 2е число во всех наборах одинаковые, а 3е меняется.
есть несколько таких наборов по 4 числа и в каждом из них одинаковая, неизвестная мне зависимость.
есть ли способ с помощью экселя, имея большое количество таких наборов, определить эту зависимость?

в файле примера в каждом столбце первые 3 числа (зелёные ячейки), 4е число - жёлтые ячейки.
Изменено: vikttur - 30.06.2021 00:55:03
Проверка даты с Интернет ресурса (с помощью VBA)
 
не побоюсь поднять некропост...
вот ещё сайт. прям самое точное время в стране) точнее нЕкуда

https://www.rst.gov.ru/navigationRST/commons/getTime.action
Получение куков из уже залогиненного в Хроме сайта
 
мне нужно чтобы макрос везде мог работать, без доустановки специфических плагинов
Получение куков из уже залогиненного в Хроме сайта
 
Андрей_26,

метод открытия сайта в хроме  - CreateObject("WScript.Shell").Run "адрес_сайта" работает с сайтами и не работает с адресом "chrome://settings/cookies/detail?site=адрес_сайта"
буду очень признателен если подскажете как средствами VBA открыть такого вида адрес
Получение куков из уже залогиненного в Хроме сайта
 
это бесспорно..но я в питон вообще не умею.
нужно учиться. это тоже очевидно..
Получение куков из уже залогиненного в Хроме сайта
 
спасибо за ответ!

по пути C:\Users\имя_пользователя\AppData\Local\Microsoft\Windows\INet­Cookies  у меня нет куков. там только лежит файл "deprecated.cookie" весом 1 кб датированный концом прошлого года в котором одна запись - "Cookies are no longer stored in files.  Please use Internet*Cookie* APIs to access cookies."

актуальные куки у меня лежат по пути C:\Users\имя_пользователя\AppData\Local\Google\Chrome\username­\Default­\ там файл без расширения "Cookies"

подставляю его в вашу функцию. содержимое считывается но на этапе разделения a = Split(sContent, vbLf & "*" & vbLf) массив не набивается. не видит он такого разделителя.

во вложении кусок файла с нужной мне кукой "session" в непонятной мне кодировке. Есть ли возможность перевести её на человеческий язык (средствами VBA)?
Изменено: Максим - 01.03.2021 15:51:25
Получение куков из уже залогиненного в Хроме сайта
 
Добрый день!

подскажите возможно ли получить значение куки из уже залогиненного в хроме сайта?

авторизоваться силами vba не вариант, т.к. происходит через госуслуги, очень заморочено. По итогу авторизации выдаётся токен. его значение можно легко увидеть по ссылке вида chrome://settings/cookies/detail?site=адрес_сайта. Можно было бы спарсить открывающуюся по этой ссылке страницу, но я не знаю как её открыть средствами VBA. с помощью WinHttp.WinHttpRequest.5.1 не получается.
не получается открыть и таким образом - CreateObject("WScript.Shell").Run "chrome://settings/cookies/detail?site=адрес_сайта"
можно было бы вытащить эту куку из файла с куками расположенного по C:\Users\username\AppData\Local\Google\Chrome\username\Default­\cookies, но там всё толи зашифровано, толи я с кодировкой разобраться не могу. в общем тоже не получается.

getAllResponseHeaders() не помогает, т.к. нет залогинивания, да и в респонсе нет куков. они только в реквесте
Кодировка бинарного вида файла
 
огромное спасибо за все советы! Попробую разобраться с Curl
Кодировка бинарного вида файла
 
да, там multipart/form-data запрос из трёх частей - 2 пдф и строка json. с json вроде как проблем не было.
сервер ожидает увидеть запрос такого вида:
Цитата
------WebKitFormBoundaryOtMjnxAQ1j0yc83f
Content-Disposition: form-data; name="workplace-0-workBook"; filename="diplom.pdf"
Content-Type: application/pdf

тут текст файла diplom.pdf
------WebKitFormBoundaryOtMjnxAQ1j0yc83f
Content-Disposition: form-data; name="education-0-document"; filename="tk.pdf"
Content-Type: application/pdf

тут текст файла tk.pdf
------WebKitFormBoundaryOtMjnxAQ1j0yc83f
Content-Disposition: form-data; name="json"

тут строка json
------WebKitFormBoundaryOtMjnxAQ1j0yc83f--
с заголовками вроде бы тоже всё понятно. другие запросы на этот сервер, состоящие только из json, отправляются нормально
может я сначала неправильно сформулировал вопрос. Я решил что пдф файл разложенный на текст и есть "бинарный вид файла", текст которого мне нужно вставить в запрос

если важно - ответ сервера в норме такой -  "data:Object { status: "success", errors: [] }"
Кодировка бинарного вида файла
 
Спасибо вам за помощь!

все ваши замечания применил. кажется стало более похоже, но отправка всё равно не удаётся
во вложении файл с макросом

ваш макрос посмотрел - у меня вроде похоже
Кодировка бинарного вида файла
 
честно говоря, получается что эксель файла-то и нет.
я пытаюсь с помощью VBA отправить POST запрос с прикреплённым pdf файлом.

я преобразовываю файл в текст функцией указанной в моём первом посте. Открываю в блокноте, вижу то что на скриншоте.
Смотрю в браузере, когда делаю запрос средствами браузера, и вижу похожее, но немного другое (на втором скриншоте)
Думаю проблема в кодировке.
Вычитал что для post запроса файл нужно конвертировать в base64, нашёл необходимую функцию, файл конвертируется в впечатляющий массив латинских букв и цифр, но такой запрос тоже не проходит

подскажите как пребразовать пдф в такой же текст, как в браузере?
Изменено: Максим - 27.01.2021 17:01:59
Кодировка бинарного вида файла
 
Добрый день!

для отправки файла с помощью post запроса перевожу его в текстовый вид функцией:
Код
Private Function File_Reader(ByVal file_path As String)
    With CreateObject("ADODB.Stream")
        .Charset = "utf-8"
        .Open
        .LoadFromFile (file_path)
        File_Reader = .ReadText()
    End With
End Function

получается такой текст:
Цитата
Іf%PDF-1.7
%????
1 0 obj
<</Type/Catalog/Pages 2
......

<</Filter/FlateDecode/Length 176>>
stream
x??N?
?@????w?

а нужно чтобы был вот такой:
Цитата
%PDF-1.7
%µµµµ
1 0 obj
<</Type/Catalog/Pages 2
......

<</Filter/FlateDecode/Length 176>>
stream
xœ­N»
ƒ@ìî¦Ô€w·>¸ÄÂG$!ACАÂÂ

сюда копирую текст и он уже по-другому выглядит..
если я правильно понимаю дело в кодировке?
как получить правильный вид, подскажите пожалуйста

во вложении  тот файл
Изменено: Максим - 27.01.2021 02:04:21
CDO.Message замораживает эксель, после использования CDO.Message эксель начинает вести себя странно до перезагрузки
 
в общем..как обычно проблема была совсем не там)

я перемудрил с SetForegroundWindow Application.hWnd.

тему можно закрывать)
CDO.Message замораживает эксель, после использования CDO.Message эксель начинает вести себя странно до перезагрузки
 
Добрый день!

для отправки писем использую вот такой макрос:
Скрытый текст


после его срабатывания эксель начинает вести себя странно - экран как будто заморожен - кликаешь на ячейку - ничего не происходит (даже не выделяется). делаешь двойной (или даже тройной) клик - ячейка становится редактируемся, вводишь данные, нажимаешь энтер - визуально данные не обновляются. помогает перещёлкивание листов с одного на другой.

также, например, на выбрать мышкой цвет заливки - выпадающее окно с разными цветами появляется, но ничего не выбрать мышкой. Однако tab-ом выбрать удаётся. с остальными меню примерно такая же история. в общем всё вроде работает но очень мучительно.
помогает только закрытие файла и повторное открытие.
как вы видите я уже добавил в конец макроса всё что знал про то, что может отключать нормальную работу экселя, но это не помогло.

также при сохранении файла появляется окно "файл сохраняется" и само больше не исчезает. Заставить его исчезнуть можно только нажав "отмена". Файл при этом на самом деле сохраняется, но ощущение неопределённости очень неприятное)

в интернетах нашёл человека с такой же проблемой  вот тут и он её решил исключением из кода msgbox. Мне это не помогло
Изменено: Максим - 23.07.2020 14:07:52
открыть файл из VBA без обновления связей, открыть файл из VBA без обновления связей
 
он может быть открыт на другом компе.

я думал что без обновления связей файл будет быстрее открываться, но сейчас сравнил варианты Workbooks.Open с UpdateLinks:=0 и GetObject - никакой разницы (

так что вопрос снимаю..
открыть файл из VBA без обновления связей, открыть файл из VBA без обновления связей
 
Получаю объект:
Код
Dim objDWE As Object
objDWE = GetObject(strPTmp & "TempPas.xls")
Этот объект содержит связи и начинает их обновлять. Как этот запрос перехватить и не обновлять связи?

Такое есть в методе Open но мне это не подходит т.к. он может быть уже открыт, его нужно только получить.
Изменено: Максим - 26.05.2020 17:19:52
Найти максимальное значение, которое удовлетворяет двум условиям
 
спасибо! не знал что можно и без ЕСЛИ обойтись!
Найти максимальное значение, которое удовлетворяет двум условиям
 
всё, разобрался ))
Код
=МАКС(ЕСЛИ(ИНДЕКС(E:E;H3):ИНДЕКС(E:E;I3)<2;1;0)*ЕСЛИ(ИНДЕКС(F:F;H3):ИНДЕКС(F:F;I3)="есть";1;0)*ИНДЕКС(G:G;H3):ИНДЕКС(G:G;I3))

нужно было самому себе объяснить и всё стало понятно )

спасибо )
Изменено: Максим - 01.07.2019 22:12:47
Найти максимальное значение, которое удовлетворяет двум условиям
 
добрый день!

у меня есть формула, которая с помощью суммпроизв сравнивает значения массивов (столбцов). для каждого массива задано своё условие. в предпоследнем действии расчёта получаются 3 массива
в последнем действии они перемножаются и складываются. Мне же нужно их только перемножить, получив массив из 3х значений {20;0;21}, и последним действием мне нужно получить максимальное значение из этих трёх (21)

похоже что я не к месту использую суммпроизв и нужно использовать какую-то другую функцию.

помогите пожалуйста.
Изменено: Максим - 01.07.2019 21:10:11
формула массива в VBA, расчёт значения без использования ячейки листа
 
я Вас понял, спасибо!

последний ответ Sanja чётко и понятно
Цитата
Sanja написал: Записать формулу массива с листа в код VBA напрямую, именно как формулу, не получится.
это и есть ответ на мой вопрос.
если я буду пытаться сделать это по-другому (через открытие книги например) и у меня не будет это получаться и я не найду ответа на форме, то я создам новую тему с тем вопросом который у меня возникнет.

спасибо!
формула массива в VBA, расчёт значения без использования ячейки листа
 
Цитата
Nordheim написал:
скорее всего переменная будет определена как текстовая и на выходе вы получите не тот результат , который хотите
результат этой формулы массива в ячейке - число. двузначное число.
формула массива в VBA, расчёт значения без использования ячейки листа
 
я читаю. пытаюсь разобраться. просто вроде как не отвечать на Ваши вопросы - некрасиво. а отвечаю - считаете что я сижу ничего не делаю и только f5 жму. я уже решил проблему (временно). формула рассчитывается в другом файле и результат извлекается из ячейки (их закрытого файла) с помощью ExecuteExcel4Macro.

по WorksheetFunction - я не смог разобраться как переписать мою формулу функциями vba. не хватает мне ума.

я возможно (абсолютно точно) иду к решению многих задач очень не рационально. но я дохожу до решения, получая рабочий инструмент который экономит много времени. мне практически безразлично то, что он затрачивает в 1млн раз больше ресурсов и время выполнения занимает не одну наносекунду, а одну секунду. главное что работает и удовлетворяет МОИМ потребностям а не потребностям тех кто будет смотреть как написан код и сокрушённо взмахивать руками.

при этом я крайне благодарен этому форуму. без него ничего бы небыло. но блин - очень раздражают уточняющие вопросы которые предлагают не решение проблемы, а сомневаются в наличии вопроса.
Изменено: Максим - 20.06.2019 20:02:01
формула массива в VBA, расчёт значения без использования ячейки листа
 
при всём огромном уважении ко всем кто отвечает -
я не прошу Вас сейчас помогать мне решать прикладную задачу, предлагать оптимальные алгоритмы её решений и убеждать меня в том что я делаю что-то не рационально и не оптимально.
я прошу Вас ответить ровно на тот вопрос который я задал.
формула массива в VBA, расчёт значения без использования ячейки листа
 
Цитата
Nordheim написал:
А что мешает открыть книгу?
возможное существование способа обойтись без её открытия
Страницы: 1 2 3 4 5 6 7 8 9 След.
Наверх