Добрый день, есть список страниц в excel, которые формируются по одному и тому же принципу, нужен акрос, который будет поочередно открывать страницу, копировать оттуда определенный раздел по div class, вставлять данные в исходный excel в соседний столбец, и далее для следующей строчки в исходном excel тоже самое: открыть страницу, скопировать нужный раздел, вставить в excel...
Парсинг определенного div class на страницах, Парсинг div class
выгрузка лога в текстовый файл, перед выходом из книги сохранять значения некоторых ячеек и комментарий, введенный пользователем, в текстовый файл
выгрузка лога в текстовый файл, перед выходом из книги сохранять значения некоторых ячеек и комментарий, введенный пользователем, в текстовый файл
11.06.2014 19:24:52
открыт к диалогу =) предлагаю перейти к общению через мыло, самые проблемные моменты (на мой взгляд): проверка создания текстового файла из excel (смогу проверить только после праздников), дозапись в текстовый файл с проверкой на возможность записи...
Изменено: |
|
|
выгрузка лога в текстовый файл, перед выходом из книги сохранять значения некоторых ячеек и комментарий, введенный пользователем, в текстовый файл
11.06.2014 16:42:28
Добрый день, есть книга, которая производит определенные расчеты, стоит задача, чтобы перед закрытием она писала в текстовый файл, расположенный в той е папке, логи вида:
дата/пользователь win/пользователь excel/значение ячейки1/значение ячейки2/значение ячейки .../значение ячейки 5/комментарий пользователя пример: 11.06.2014/tester/tester/125/136/0.01/36 месяцев/21.06.2013/расчет варианта 1 Соответственно, при следующем открытии excel файла, расчетах, закрытии, и введенном комментарии пользователем должна будет добавляться новая строка в текстовый файл Бюджет 700 руб., оплата только на электронные кошельки (яндекс, киви, вебмани и прочие) Откликнувшихся прошу писать на почту, обсудим детали. Благодарю за внимание =) ADD: Извините, забыл указать ограничения( Есть некоторые ограничения: 1) пользователи (в т.ч. и я) работаем на vdi (виртуальные рабочие столы), есть ограничения на доступ к файловой системе (shell.execute естественно не работает, но vb scripts работают (проверил с помощью, файлов vbe, т.к. vbs файлы естественно запрещены политиками), текстовые файлы создаются, а т.к. в excel можно использовать команды vbs, да и язык очень близок, думаю из excel файлы должны создаваться (не проверено) 2) ник пользователя win и ник пользователя excel - доступ есть 3) код должны быть универсален (пользователи работают как на office x32, так и на x64, версии excel от10 до 14) 4) если файл логов закрыт в н.в. для записи (открыт пользователем, используется другой программой) должно выдаваться предупреждение, что книга пока не закрывается и попыткой закрытия через 1 минуту с записью в файл логов
Изменено: |
|
|
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
02.06.2014 13:16:25
to Sanja: одновременно, комп офисный, сегодня перевели меня))
P.S. Похоже, единственный вариант проверить, завязано ли это на vdi - это пробовать на другом обычном пк?! Тем более, если у Вас код отрабатывает норм, значит, проблема скорее всего действительно в vdi
Изменено: |
|
|
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
проблема с макросом после перехода на office 2010, перестала работать часть макроса с именем книги и поиском решения
первая пятница месяца (формула), определение первой пятницы в месяце
первая пятница месяца (формула), определение первой пятницы в месяце
Замена функций из пакета анализа макросом в разных локалях excel
Замена функций из пакета анализа макросом в разных локалях excel
28.03.2013 10:28:00
Спасибо, Johny, за решение первой части.
немного изменил на случай, если будет локаль отличная от русской и английской:
Подскажите пжл, как теперь заменить нужные мне функции в зависимости от локали.
Изменено: |
|||
|
Замена функций из пакета анализа макросом в разных локалях excel
28.03.2013 09:53:21
Добрый день, уважаемые форумчане. Все мы знаем, что файл с формулами, созданный в русской версии excel, прекрасно работает в других версиях, в частности в английской. Т.е. функции, например, СУММ, СРЗНАЧ и т.д. автоматически меняются на SUMM, AVERAGE и т.д. Однако возникла проблема с функциями из пакета анализа, в частности, ДАТАМЕС (EDATE) и ЧИСТВНДОХ (XIRR), которые не заменяются excel в зависимости от локали excel.
Соответственно, подскажите пжл макрос, который бы: 1) определял локаль excel (в моем конкретном случае либо русская либо английская) 2) в зависимости от локали заменял функции ДАТАМЕС (EDATE) и ЧИСТВНДОХ (XIRR) Заранее благодарю! |
|
|
Импорт псевдо-таблицы в Excel
Объединение ячеек по границе + соединение данных построчно
19.02.2011 11:51:42
Добрый день! На этом форму мне помогли решить проблему с объединением данных по критерию границы, при этом данные объединялись через команду Merge. Помогите усовершенствовать макрос, чтобы данные объединялись также по границе + данные соединялись построчно.
Исходные данные, макрос и то, что должно получится - во вложенном файле. |
|
|
Макрос объединения ячеек по критерию границы
14.12.2010 11:13:14
{quote}{login=webley}{date=14.12.2010 10:38}{thema=}{post}Добрый день
Ну примерно так: Sub test() Dim r, kn Dim st As String r = 1 kn = 1 st = "" While Cells(r, 1) <> "" st = WorksheetFunction.Trim(st & " " & Cells(r, 1)) Cells(r, 1).ClearContents If Not Cells(r, 1).Borders(4).LineStyle = xlNone Then With Range("A" & kn & ":A" & r) .Merge .Value = st End With st = "" kn = r + 1 End If r = r + 1 Wend End Sub{/post}{/quote} СПАСИБО ОГРОМНОЕ! РЕАЛЬНО - ОЧЕНЬ ПОМОГЛИ! +1 |
|
|
Макрос объединения ячеек по критерию границы
14.12.2010 10:01:40
Добрый день! Подскажите пжл макрос объединения ячеек в столбце по критерию наличия нижней границы ячейки (т.е. выделенная граница ячейки служит обозначением конца для объединения текущей ячейки и началом для объединения следующей). Пример и то, что должно получиться на выходе - см. приложенный файл.
|
|
|
значение n-oй строки в ячейке
значение n-oй строки в ячейке
при группировке данных значок +/- появляется снизу или в конце столбцов
график - фактическое и плановое значение
Конвертация bas2vbs
Конвертация bas2vbs
26.12.2008 13:15:25
Есть макрос вида:
Sub test() Dim iPath As String Dim fs As FileSearch Dim last As Date, prev As Date iPath = ThisWorkbook.Path prev = CDate("1/1/1980") With Application.FileSearch .NewSearch .LookIn = ThisWorkbook.Path .SearchSubFolders = False .Filename = "*.xls" .MatchTextExactly = False .FileType = msoFileTypeExcelWorkbooks End With With Application.FileSearch If .Execute() > 0 Then Set fs1 = CreateObject("Scripting.FileSystemObject") For i = 1 To .FoundFiles.Count Set f = fs1.GetFile(.FoundFiles(i)) last = CDate(f.DateLastModified) If last > prev Then prev = last: fn = .FoundFiles(i) End If Next i Workbooks.Open Filename:=fn Else MsgBox "В папке " & iPath & "XLS файлов не найдено", 48, "Внимание" End If End With End Sub Сохранен на винте в виде bas файла Необходимо конвертнуть bas2vbs. Нашел в инете скрипт: Optiom Explicit Dim oFS Dim oFileIn Dim oFileOut Dim sFilePathIn Dim sFilePathOut Dim sLineText sFilePathIn = InputBox("Enter Name of File to convert") sFilePathOut = Left(sFilePathIn, Instr(sFilePathIn, ".")) & "vbs" set oFS = WScript.CreateObject("Scripting.FileSystemObject") set oFileIn = oFS.OpenTextFile(sFilePathIn) set oFileOut = oFS.CreateTextFile(sFilePathOut) Do Until oFileIn.AtEndOfStream = true sLineText = oFileIn.ReadLine() If UCase(Left(sLineText, 9)) = "ATTRIBUTE" then sLineText = "" Dim iPos iPos = InStr(UCase(sLineText), " as ") If iPos > 0 then sLineText = Trim(Left(sLineText, iPos - 1)) End If If Instr(UCase(sLineText), " CREATEOBJECT(") > 0 then Dim sTemp Dim arText sTemp = "" arText = Split(sLineText, " ") Dim iCur for iCur = LBound(arText) to UBound(arText) If Left(UCase(arText(iCur)),12) = "CREATEOBJECT" then sTemp = sTemp & "WScript." & arText(iCur) else sTemp = sTemp & arText(iCur) End If sTemp = sTemp & " " next sLineText = Trim(sTemp) End If If sLineText > "" then oFileOut.WriteLine sLineText Loop oFileIn.Close oFileOut.Close set oFileIn = nothing set oFileOut = nothing set oFS = nothing Но он обламывается :( Помогите конвертировать плиз, очень надо! |
|
|
Запуск самого "свежего" xls файла (vbs)
Запуск самого "свежего" xls файла (vbs)
26.12.2008 12:46:51
2Артем: Может быть Вы тогда знаете как превратить bas файл (модуль макроса) в vbs. У меня есть макрос с этого форума:
Private Sub Workbook_Open() Dim iPath As String Dim fs As FileSearch Dim last As Date, prev As Date iPath = ThisWorkbook.Path prev = CDate("1/1/1980") With Application.FileSearch .NewSearch .LookIn = ThisWorkbook.Path .SearchSubFolders = False .Filename = "*.xls" .MatchTextExactly = False .FileType = msoFileTypeExcelWorkbooks End With With Application.FileSearch If .Execute() > 0 Then Set fs1 = CreateObject("Scripting.FileSystemObject") For i = 1 To .FoundFiles.Count Set f = fs1.GetFile(.FoundFiles(i)) last = CDate(f.DateLastModified) If last > prev Then prev = last: fn = .FoundFiles(i) End If Next i Workbooks.Open Filename:=fn Else MsgBox "В папке " & iPath & "XLS файлов не найдено", 48, "Внимание" End If End With End Sub Он делает как раз то, что нужно, но мне нужен отдельный скрипт (vbs, bat, java...), чтобы он работал без экселя... Нашел один скрипт bas2vbs, но он некорректно работает. Может тогда Вы сможете конвертировать скрипт выше в vbs??? |
|
|
Запуск самого "свежего" xls файла (vbs)