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

Страницы: 1 2 3 4 След.
Characters, Insert и ограничение на 256 символов., не осуществляется замена текста с помощью Characters, Insert
 
Позвольте воскресить этот запрос, так как столкнулся с проблемой.
При использовании примера Казанского наткнулся на некорректную работу в следующем случае:
Код
r.Characters(400).InsertAfter vblf 

а также в тех случаях, когда в тексте ячейки уже присутствует перенос строки. Как понимаете, текст при  ActiveSheet.Paste копируется не в нужную ячейку, а в несколько ячеек (зависит от количество vblf в тексте).

Подскажите способ иного переноса текста из Shapes в ячейку без потери формата текста.

PDFCreator, Изменение настройки
 
Цитата
Андрей VG написал:
Что вы под этим подразумеваете?
Некая программа может направлять результаты расчетов только на печать.
Расчеты я автоматизировал, в качестве принтера по умолчанию установил PDFCreator с автоматическими параметрами сохранения.
Что бы в дальнейшем работать с результатами мне нужно знать куда PDFCreator сохраняет файлы и под каким наименованием - думал это возможно узнать средствами VBA.

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

Я рассчитывал на 1000 - 1500р.
Изменено: Aleksey - 02.05.2018 02:56:52
PDFCreator, Изменение настройки
 
Цитата
Jungl написал:
если вас устроит отдельное приложение
Интересует именно через VBA. Я понимаю, что отдельное приложение можно запустить через VBA - не вариант.
Если отсутствует возможность изменения настроек, то хотя бы узнать текущие настройки по пп.2, 3.1-3.4
PDFCreator, Изменение настройки
 
Цитата
Jungl написал:
Aleksey , каков бюджет сего предприятия? Для чего эта возня с настройками, если не секрет
Будет частью глобального макроса, который облегчит мне и коллегам работу. На одной машине могут работать несколько пользователей.
Бюджет - назовите свою цену, исходя из трудозатрат, думаю договоримся.
Если задача не решаемая, прошу отписать.
Изменено: Aleksey - 01.05.2018 10:45:21
PDFCreator, Изменение настройки
 
Задача обусловлена этой темой.
На ПК установлена последняя версия PDFCreator 3.2.0.
Необходимо с помощью макроса VBA изменить настройки PDFCreator.
1. Узнать какие существуют профили
2. На форме"Принтер": узнать какой профиль активирован и при необходимости его изменить.
3.1. На форме"Профиль" вкладка "Сохранить": проверить активировано автоматическое сохранение профиля или нет, если нет активировать его.
3.2. На форме"Профиль" вкладка "Сохранить": узнать под каким именем осуществляется автоматическое сохранение и иметь возможность изменить его.
3.3. На форме"Профиль" вкладка "Сохранить": узнать в какую папку сохраняются результаты и иметь возможность изменить ее.
3.4. На форме"Профиль" вкладка "Сохранить": отключать опцию "Открыть файл после сохранения" и "Показывать быстрые действия"
Сохранить выбранные настройки.
Заполнение Word файла
 
Временно приостановлено ввиду сложности исполнения.
Заполнение Word файла
 
Doober,
В  моем примере, я открываю pdf Word-ом - но я просто не знаю как это сделать по-другому)))
На тех ПК где будут пользоваться этим макросом стоит Acrobat Reader DC, и Microsoft Office 2010.
Как я знаю  Microsoft Office 2010 не может корректно открыть pdf файл, поэтому вариант открытия через Acrobat мною приветствуется, поддерживается головой,руками и ногами!!!
Заполнение Word файла
 
Уважаемые знатоки VBA, а можете описать причины отсутствия интереса к данной работе  :cry:  
Заполнение Word файла
 
Итоговый файл
Заполнение Word файла
 
Как только не пытался, а до ума свой макрос довести не смог. Прошу помощи.

Задача:
Рисунок.pdf - файл содержимое которого будет периодически меняться (цикл). Название файла меняться не будет..
1. Необходимо копировать рисунок со второго листа файла Рисунок.pdf
2. Вставить в Word, добавить название рисунка из таблицы файла Исходный.xlsb
3. Добавить возможность вставки в конце цикла таблицы из Исходный.xlsb на первый лист Word

Файлы:
Исходный.xlsb - в нем исходные данные, макрос, который принципе является ТЗ с подробным описанием действий.
Рисунок.pdf - сам объект работы.
Файл docx - то, что хотел бы получить.

Пишите в ЛС.
Ошибки при обращении к PDFCreator (VBA)
 
Андрей VG,
Ничего не понял даже с гугл переводом.
А нет ни у кого примера работы PDFCreator версией 2 и выше в VBA, особенно интересует как узнать, а потом и изменить настройки автосохранения (если это возможно).
Ошибки при обращении к PDFCreator (VBA)
 
Андрей VG,Спасибо за наводку. Для моей версии в примерах тоже указано Set PDFCreatorQueue = CreateObject("PDFCreator.JobQueue")
Теперь ошибка не возникает, но:
Код
Sub Test(): Dim iPDFCreator, s
    Set iPDFCreator = CreateObject("PDFCreator.JobQueue")
    s = iPDFCreator.cOption("UseAutosave")
End Sub
на строчке  s = iPDFCreator.cOption("UseAutosave") выдает ошибку "error 438: object doesn't support this property or method", а в окне "Locals" iPDFCreator имеет следующие параметры:
   : Count : 0 : Long
   : NextJob : <Invalid index. Please check the index parameter.> : IPrintJob
По моему что-то не так)))  
Ошибки при обращении к PDFCreator (VBA)
 
Установлен: Windows 10 x64, MO 2013, PDFCreator 2.5.3
Возникла необходимость узнать параметры настройки автосохранения PDFCreator
1.1 При запуске макроса из этой темы post_371371 выдает ошибку "can't find project or library".
1.2 Отключил библиотеку "MiSSING: PDFCreator", выдает ошибку "user-defined type not defined" на строке "Private WithEvents PDFCreator1 As PDFCreator.clsPDFCreator"
1.3 Нашел и подключил библиотеку "PDFCreator_COM", ошибка не пропала

2.1 При запуске макроса из этой темы post_326569 (файл PrintPDF_PDF Creator.xlsm) возникают те же проблемы на строке "Dim pdfjob As PDFCreator.clsPDFCreator"

3.1 Пробовал вариант Set iPDFCreator = CreateObject("PDFCreator.clsPDFCreator"), нашел в инете, выдает ошибку "activex component can't create object"
3.2 Нашел на англоязычном форуме, что ошибка связана с отключенной NET framework - у меня все норм.
Изменено: Aleksey - 22.04.2018 11:32:30
Изменение принтера по умолчанию для всех программ (VBA), Аналог "Панель управления\Все элементы панели управления\Устройства и принтеры"
 
Принтер виртуальный -PDFCreator. Он может быть и не установлен на ПК.
Изменение принтера по умолчанию для всех программ (VBA), Аналог "Панель управления\Все элементы панели управления\Устройства и принтеры"
 
БМВ,
Огромное спасибо, третий вариант идеален, так как  именно таким способом я узнавал имя принтера))
Осталось только добавить: Set WshNetwork = CreateObject("Wscript.Network") и WshNetwork.SetDefaultPrinter strPrinterName
Следующий раз буду умнее - буду выкладывать свой код или пример файла.
Изменение принтера по умолчанию для всех программ (VBA), Аналог "Панель управления\Все элементы панели управления\Устройства и принтеры"
 
Огромное спасибо.
Получилось.
Изменение принтера по умолчанию для всех программ (VBA), Аналог "Панель управления\Все элементы панели управления\Устройства и принтеры"
 
Уважаемые форумчане подскажите какой командой или кодом VBA можно изменить принтер по умолчанию - Аналог "Панель управления\Все элементы панели управления\Устройства и принтеры - Назначить принтером по умолчанию"
По поиску нашел как определить имя нужного принтера (пример - PDFCreator), номера его порта (пример - iPDFCreator (Ne06:)), а как назначить его принтером по умолчанию не пойму.
Заранее спасибо.
Разные результаты при повторном использование .EntireRow.PasteSpecial, Неверная высота строки при повторном использовании .EntireRow.PasteSpecial
 
Доброго времени суток!!!
Столкнулся с следующей проблемой.
В примере есть макрос при запуске которого копируется  формат строк (мне необходима высота строк).
Код
Sub mgbeg()
    Лист1.Range("$A$3:$A$1373").Clear: Лист18.Range("$A$3:$A$1373").EntireRow.Copy
    Лист1.Range("$A$3:$A$1373").EntireRow.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
End Sub

При первом использовании проблем нет, например высота строки №13 составляет 110,25.
При повторном использовании макроса строки (в которых отсутствует объединение) уменьшается до минимального значения, например высота строки №13 становится 15,75 в то время как на листе "Исходник" (Лист18) она составляет 110,25.
Запоминать высоту каждой строки области перебором не вариант, т.к. количество строк в области может достигать 12000.
Подскажите как можно решить это проблему.
Обрезание текста длиной более 256 символов., Ограничение String в 256 символов
 
Доброго времени суток знатоки Excel.
Проблема ограничения текста длиной в 256 символов меня преследует, в связи с чем прошу помощи.
Есть 2 макроса:
Первый создает коллекцию уникальных значений высоты строк и запоминает соответствующие им области.
Код
    For Each iCells In Obl                                                                                                          'Запоминаем уникальные значения высоты строк в коллекцию
        On Error Resume Next: 
        If iCells <> "" Then Coll.Add CStr(iCells.RowHeight), CStr(iCells.RowHeight)
        If NewObl Is Nothing Then Set NewObl = iCells Else Set NewObl = Union(NewObl, iCells)
        On Error GoTo 0
    Next iCells: 
    iОбласть(i) = NewObl.Address
В итоге получается 2-а массива (высота строк, адрес области)
Второй макрос возвращает строкам ранее запомненные высоты строк, так как между ними пользователь осуществляет различные действия, которые приводят к изменению высоты различных строк, т.е. возвращаем первоначальный вид листу.

Однако обнаружил проблему несоответствия высоты ряда строк их первоначальному виду. Опытным путем обнаружил, что при:
Код
NewObl.Select
последняя выделенная строка  - 2229, а
Код
Debug.Print NewObl.Address
выдал:
$G$44:$G$53,$G$64:$G$73,$G$82:$G$91,$G$93:$G$102,$G$115:$G$120,$G$142:$G$151,$G$153:$G$162,$G$164:$G$172,$G$199:$G$208,$G$221:$G$230,$G$232:$G$240,$G$242:$G$251,$G$253:$G$258,$G$270:$G$279,$G$281:$G$289,$G$304:$G$313,$G$322:$G$331,$G$344:$G$353

Вот может мне кто-нибудь объяснить:
1. String - Используется для хранения текста. Может содержать от 0 символов до приблизительно 2 миллиардов символов. В чем проблема?
2. Можно ли ее решить?
3. Есть ли другие способы решения моей задачи. У меня пока только одна идея - 1-м макросом делать копию листа.
Извините за "простыню текста"
Деактивация отдельного макроса
 
Создай публичную переменную типа Boolean например Metka.
В Macros2 пропиши If Metka Then Exit Sub. В Macros1  пропиши в первых строках Metka  = True.
Макрос: вставка даты - начало и конец текущего месяца
 
Код
Sub DateCells()
    'Date()— возвращает текущую системную дату
    ActiveCell.Value = DateSerial(Year(Date), Month(Date), 1)              'Первый день
    ActiveCell.Cells(2,1).Value= DateSerial(Year(Date), Month(Date) + 1, 0)          'Последний день
End Sub
А так работает?
Изменено: Aleksey - 22.01.2017 16:13:45
Макрос: вставка даты - начало и конец текущего месяца
 
А поиском воспользоваться?
Например: http://www.planetaexcel.ru/forum/?FID=8&PAGE_NAME=read&TID=13972
Макрос для сравнения ячеек, переноса и их окрашивание по значению
 
И не будет)))
По крайне мере в том файле, что вы приложили, так как в столбце R на листе 1 и столбце М на листе 2 нет ни одного одинакового значения.
Для примера я скопировал одно значение из листа 1 в лист 2 и все отработало.
Изменено: Aleksey - 22.01.2017 11:55:09
Макрос для сравнения ячеек, переноса и их окрашивание по значению
 
Написал с 0.
Выделение столбца без учета объединенных ячеек, VBA
 
Доброе времени суток знатоки Excel!!!
Прошу не закидывать камнями за ниже озвученный вопрос!!!
А есть команда для выделения столбца без учета объединенных ячеек по горизонтали, т.e. аналог клика в название столбца вверху ячеек?
Данная команда естественно не подходит:
Код
Columns(2).Select
т.к. при наличии объединенных ячеек по горизонтали выделяются все столбцы объединенного диапазона.
Некорректная работа буфера обмена.
 
Проблему решил.
Оказывается сразу после сохранения переменной в буфер у меня стояла команда на проигрывание звука.
Код
Call StartSound("ir_inter.wav", 2)
Именно она и устраивала эти проблемы, причем основательно.
Убрал ее, час теста - полет нормальный.
Вдруг кому-нибудь пригодится.
Изменено: Aleksey - 07.09.2016 00:23:11
Удаление символа в ячейке с сохранением формата остального текста (VBA)
 
Как же все просто!!!
Код
Sub uuu()    Dim i&
    Dim c As Range
'------------------
    Application.ScreenUpdating = False
    For Each c In ActiveSheet.UsedRange.Cells
        If c.Value <> "" Then
            For i = Len(c.Value) To 1 Step -1
                With c.Characters(Start:=i, Length:=1)
                    If .Font.Superscript = True Then .Delete
                End With
            Next
        End If
    Next
    Application.ScreenUpdating = True
    Beep
    MsgBox "Готово!"
End Sub 
Большое спасибо!!!!
Удаление символа в ячейке с сохранением формата остального текста (VBA)
 
Доброе время суток уважаемые форумчани!!
Хочу попросить помощи в решение следующей задачи.
В ячейке содержится текст где каждый символ имеет свои свойства (формат), в том числе и надстрочные символы.
Необходимо удалить надстрочные символы в тексте так, чтобы формат остальных символов остался неизменным.
Единственное что придумал, это:
1. Создание двумерного массива:  Массив(параметры To колич. символов)
2. Перебор текста по одному символу и сохранение параметров каждого символа в массив (с помощью: ячейка.Characters(i, 1).Font)
3. Поиск надстрочных символов, их удаление, присвоение остальным символам соответствующий формат

Вроде все предельно ясно, но лист который я буду обрабатывать содержит тысячи ячеек и текст там далеко не в 3 символа.
Есть другой более простой способ решения этой задачи?

Пример текста и желаемого результата прикладываю.
Спасибо всем заранее!
Некорректная работа буфера обмена.
 
Доброго времени суток!
Уважаемые форумчане, второй день бьюсь над проблемой и никак не могу ее решить.
Есть простой код работы с буфером обмена:
Код
Sub SetClipboardText()                                 'Запись в буфер обмена
    Dim MyData As DataObject, txt As String

    txt = "Проверка данных"
    
    Set MyData = New DataObject
    MyData.SetText txt                                              'Запись в буфер обмена
    MyData.PutInClipboard
    
    MyData.GetFromClipboard
    txt = MyData.GetText(1)
    Debug.Print txt
End Sub
Работает он определенно странно((
Если макрос работает без остановки, результат в окне Immediate:
Код
Проверка данных
Но как только приостановить макрос (F9) на строке
Код
txt = MyData.GetText(1)
Дальнейшее продолжение работы макроса в ручном режиме (F8) выдает следующий результат Immediate (два вопросительных знака):
Код
??
Умом понимаю, что проблема не в Excel вроде.
Решения по поиску не найдено, пробовал отключать антивирус, Skype, PuntoSwitcher и тд. Не помогло.

Может кто-то уже сталкивался с такой проблемой и знает решение?
Или есть иные способы сохранения информации помимо использования библиотеки Microsoft Forms 2.0 Object Library.
Изменено: Aleksey - 28.08.2016 19:27:04
Выделение ячеек заданной области
 
Спасибо Юрий. BottomRightCell.Offset(-1, -1) то что нужно, про нее я то и не знал)))
Страницы: 1 2 3 4 След.
Наверх