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

Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 24 След.
Многопоточность в VBA
 
Цитата
bedvit написал:
а что должно быть в многопоточной функции из сторонней библиотеки, что бы она была нужна в VBA?
Я бы мог сказать длинный список, чего не хватает в VBA, но это не обязательно связано с многопоточность, функционал для работы с zip, функционал для работы с оффисными файлами (по нормальному, а не через com). Текстовых функций можно было много перенять из js/php/python и т.д. и т.д.
Многопоточность в VBA
 
Цитата
bedvit написал:
как это поможет при реализации многопоточности
Это к мысли об интерпретаторах. Говоря о многопоточности, я думаю в vba возможны 2 варианта - который я описал и использование многопоточных функций из сторонних библиотек. В vba, конечно много чего не хватает и однопоточного vbe7.dll не слишком балует своим арсеналом )
Изменено: testuser - 24.09.2025 15:40:42
Многопоточность в VBA
 
Цитата
bedvit написал:
Можно сделать парсинг строки с каким то набором операторов, типа создать свой скриптовый язык...
На vba есть свой секретный интерпретатор, может интерпетировать все, что помещается в одну строку.
Класс объектов с переменным числом записей
 
Цитата
Алексей Вячеславович написал:
Не сомневаюсь, что существуют более гибкие среды
Excel+VBA очень гибкая среда, ее вполне достаточно для чего-нибудь такого.
Изменено: testuser - 23.09.2025 13:02:20
Получение списка свойств файлов папки в указанной директории и их обработка с выводом в таблицу Excel
 
Цитата
Adamm написал:
Можете подсказать, что бы вытащить свойство кто "сохранил данный файл"
У меня на Win 8.1 так можно увидеть пользователя. Но это может отличаться в разных версиях Windows (проводника)
oDir.GetDetailsOf(sFile, 10)
oDir.GetDetailsOf(sFile, 20)
Изменено: testuser - 23.09.2025 02:04:25
Многопоточность в VBA
 
bedvit, ну, там, с пары-тройки-сотни файлов собрать данные или найти какие-то данные, с пары-тройки сайтов подгрузить инфу, пару десятков строчек перевести не томлясь, биг-дату какую-нить пообрабатывать, но это не обязательно конечно )
Класс объектов с переменным числом записей
 
Цитата
Алексей Вячеславович написал:
Причём внешнему (программному) изменению должно быть доступно как каждое из этих свойств, так и само число этих наборов в списке (путём добавления/удаления).
Классы VBA имеют фиксированный набор свойств, изменять их количество "на лету" и даже видимость нельзя. Хотя можно использовать коллекции, CallByName, так что все решаемо..
Многопоточность в VBA
 
Можно не изобразить, а реализовать. Для этого нужено запускать отдельные экземпляры Эксель для каждого потока и обеспечить обмен данными между ними. Это вполне реализуемо и не несет каких-то запредельных издержек, как кому-то может показаться. Вполне нормальная, удобная многопточность в объектном стиле получается, я уже проверял.
Закрепить фигуру при прокрутке листа
 
Цитата
astepaa написал:
закрепить фигуру при прокрутке листа чтобы она всегда оставалась видна?
https://www.planetaexcel.ru/forum/index.php?PAGE_NAME=message&FID=1&TID=159395&TITLE_SEO=159395-mozhno-li-otobrazhat-opredelennuyu-oblast-lista-s-pomoshchyu-vba-pri-prokrutke-lista&MID=1271702#message1271702
макрос эксель и корел драйв
 
Цитата
darkonok написал:
вернулся обратно в эксель спустился на ячейку ниже и так же скопировал,
Код
Dim row&
Dim col&: col = 2
For row = 1 To 10
    Set Cell = Cell(row, col)
    Cell.Copy
    'дейстия в Кореле
Next
Изменено: testuser - 22.08.2025 12:58:10
макрос эксель и корел драйв
 
Цитата
darkonok написал:
а есть пример как это реализовать? как заставить макрос зайти в эксель и скопировать активную ячейку
Код
Dim Wb As Object, ExApp As Object, Cell As Object

Set Wb = GetObject("F:\Tmp\пример2.xlsm")
Set ExApp = Wb.Application
Set Cell = ExApp.ActiveCell
Cell.Copy
Дальше сами
макрос эксель и корел драйв
 
У каждой ячейки есть метод copy, в Кореле должен быт метод paste у рабочего пространства или у того, как оно там называется
Инструменты для работы с массивами (XLL, COM): ListViev
 
Виталий,  добрейшего, сделайте пожалуйста Эксель внутри Экселя, чтобы он был быстрее Экселя!
Как программно вставить или изменить математические выражения.
 
Первая в поисковой выдче в Яндексе
https://www.processon.io/ru/mathtype
Запрос "составить формулу онлайн"
Как программно вставить или изменить математические выражения.
 
Старичок, в сети есть не мало страниц для работы с формулами, возможно что-то подойдет вам. Там можно формулу вводить понятной последовательностью символов, которая затем преобразуется в графическое отображение формулы, можно автоматически упрощать длинные формулы, я как-то пользвался
Низкая скорость обработки запроса с регулярными выражениями
 
Думаю низкая скорость обработки связана с тем, что запрос PQ обрабатывает каждую строку отдельно. Как бы я поступил на VBA - сначала соединил все строки в одну, затем обработал их регекспом с одинм паттерном., затем сново разъединил строку на массив. Может быть такое осуществимо на PQ
Изменено: testuser - 21.08.2025 17:20:52 (добавил пример на vba)
Определение входит ли IP-адрес в список подсетей
 
Цитата
Mirolab888 написал:
К примеру в подсеть 2.2.2.0/24 входят адреса с 2.2.2.1 по 2.2.2.254
Упс, тогда я ошибся, я думал, что в диаппазон должны входить с 0 по 24
Определение входит ли IP-адрес в список подсетей
 
Такое проще на VBA.
Код
Private Sub ПримерИспользования()
    Debug.Print IsIpInRange("2.2.2.24", "2.2.2.0/24")
End Sub
Function IsIpInRange(sIp, sRng) As Boolean
    Dim sIpSeg$(), sRnSeg$(), i&, j&, sSeg$()
    
    sIpSeg = Split(sIp, ".")
    sRnSeg = Split(sRng, ".")
    
    For i = 0 To 3
        sSeg = Split(sRnSeg(i), "/")
        Select Case UBound(sSeg)
        Case 0
            If sIpSeg(i) = sSeg(0) Then Else Exit Function
        Case 1
            Select Case sIpSeg(i)
            Case sSeg(0) To sSeg(1)
            Case Else: Exit Function
            End Select
        End Select
    Next
    IsIpInRange = True
End Function
Изменено: testuser - 28.07.2025 17:45:52
Закрепление ячеек/столбца с сохранением прокрутки таблицы, Закрепление ячеек/столбца с сохранением прокрутки таблицы
 
https://www.planetaexcel.ru/forum/?PAGE_NAME=message&FID=1&TID=159395&MID=s
Работа с PDF средствами Excel. Решения, Макросы Excel для работы с PDF
 
roche380, посмотрите, может быть это поможет.
Определить начало и конец таблицы excel
 
Ах эти злостные кросс-постеры, пчему нету кнопки наказания для них! )
VBS против Application.Run
 
Цитата
tula19 написал:
А все таки, почему теряется связь, если книга закрывается макросом, не думали ?
Скорее всего происходит сбой, вроде такого, который происходит при удалении листа во время выполнения макросов. Сам не проверял, просто видел тему про это. Как это точно происходит сказать сложно, но можно примерно представить, что когда книги открываются с помощью Application.Run, то они открываются в том же процессе Экселя загружаются в его память, и их VBA-код загружается в память этого процесса и в его com-расположение, и выполняются в том же потоке, что и запускающий макрос. Затем когда книга закрывается, Эксель выгружает ее из памяти и выгружает ее vba-код, и вот этот момент, очевидно, не проходит безболезненно для всего vba-хоста Экселя, происходит какой-то сбой и прерывание его работы. В vbs этого не происходит, потому что в нем априоре все происходит в чужом процессе (открытие книг и выполнение макросов) и не влияет на его хост (WSH). Если в VBA запускать макросы, также как в VBS (т.е. из другого процесса Эксель) то наверняка ни какого сбоя не будет.
Изменено: testuser - 19.06.2025 11:59:45
Эксель "Не отвечает", после нажатия на кнопку вычислить.
 
Val лучше убрать, поскольку он не правильно преобразует числа с запятой, при этом шаг цикла (h) получается равным нулю и цикл становится безкончным что вызывает зависание и сбой.
Код
Private Sub CommandButton1_Click()
    Dim a, b, h, m As Single
    
    a = TextBox1.Text
    h = TextBox2.Text
    If h <> 0 Then Else Exit Sub
    m = TextBox3.Text
    b = h * (m - 1) + a
    
    Debug.Print "x", "y"
    
    For x = a To b Step h
        y = (x * x * x * x + 3) * Sin(6 * x)
        Debug.Print x, y
    Next
End Sub
Изменено: testuser - 12.06.2025 17:18:34
Маркос смещения экрана
 
Код
Sub ScreenOffset()
    Dim sAdr$
    sAdr = Range("B2")
    Application.Goto Range(sAdr), True
End Sub
Программирование между прошлым и будущим: VB/A, ООП и альтернативы
 
Цитата
БМВ написал:
Можно расслабится
А я и не напрягался. Просто решил порассуждать, поскольку есть о чем. Возможно, то что я здесь накатал, ни кто не будет читать, это поянтно, обычно заходишь в тему, видишь много-текста и сразу нафиг-нафиг.. Но более кратко, одна из основных мыслей, которых я бы хотел сообщить, что не все так в порядке и не все однозначно в мире программирования, слышал даже такие высказывания, что мол некий кризис существует. Такие ведущие и гигантские языки программирования, как C++, Java, JS и н.др. подвергаются критике. Выше уже упоминалась Java, в которой не может быть функций на верхнем уровне а только класс. Почему-то в Котлине сделали такую возможность, хотя Котлин реализует это за счет костылей, скрыто создавая экземпляры пустых классов для таких функций, поскольку jvm этого не поддерживает. Почему-то создали Type Script, являющийся надстройкой надо JS, чтобы добавить псевдо-типы в JS. И т.д, и т.д.
Изменено: testuser - 27.05.2025 00:55:43
Программирование между прошлым и будущим: VB/A, ООП и альтернативы
 
Чтож продолжу повествование.
Есть такая полезная вещь, как холивары. С одной стороны это часто бывает "спор не о чем" с другой стороны это возможность многим высказаться насчет разных тем и с др. возможность узнать чье-то мнение и что-то новое для себя. Время холиваров конечно уходит (сейчас вообще не понятно что приходит, с появлением новых поколений ИИ), но у многие скучают по тем временам, что можно понять по реакции сообщества на некоторые обсуждения. Допустим этой весной, кто небрежно чего-то набросил на вентилятор в полу-забытой теме "win vs lin" на киберфоруме и внезапно тема ожила, причем на довольно-таки длительный период. Причем градус обсуждения там поднимался чуть выше среднего "по палате" вследствие кто-то даже резонно заметил, типа "вы чего из-за г.. такой шум устроили". Я, почему-то, тоже не мог пройти мимо этой темы. Зашла речь про консоли и мне стало интересно, что такого интересного и магического в консолях и почему их все еще используют. Открыл я power shell и просто ни чего не увидел, я не увидел там подсказок при вводе.. И в тот момент, мне пришла, как мне кажется, одна умная мысль, а нафиг нужен этот power shell. Если взять vba насоздавать там функций, классов для работы с файлами, процессами и т.д. и т.д и т.д. то в результате можно получить нечно лучшее чем  ps. Immediate в место консоли и, в результате можно получить объектную модель, где можно через точку увидеть все функции и методы, и не надо заучивать комманды и можно постоянно это дополнять какими-то своими новыми функциями. Возможно не vba, а какая-то другая среда разработки, но суть, почему не использовать данный принцип и как следствие из этого вопрос - нужны ли еще консоли в 2025 году? Если бы я был сисадмином, то наверное так и сделал свой системный мини-фреймвок на vba.
Проблемы отладки формул в Excel
 
Кстати в Npp недавно появилась подсветка синтаксиса формул Excel.
Программирование между прошлым и будущим: VB/A, ООП и альтернативы
 
Кстати заглавие понравилось, я бы еще много чего мог добавить, но это под настроение т.ск.
Изменено: testuser - 26.05.2025 07:48:47
Курсы по VBA
 
Цитата
БМВ написал:
не тратьте время, товарищу просто скучно,
Ну мне тоже было скучно, я вот тоже, т.ск. высказался )
Курсы по VBA
 
TestAccount4, а зачем спрашиваешь, потроллить?
Страницы: 1 2 3 4 5 6 7 8 9 10 11 ... 24 След.
Наверх