Копирование данных из формата PDF в Excel, реально?
Пользователь
Сообщений: Регистрация: 01.01.1970
31.07.2012 17:48:43
Спасибо за столь подробное объяснение. Чуть позже попробую.
Hello! My blog:
Копирование данных из формата PDF в Excel, реально?
Пользователь
Сообщений: Регистрация: 01.01.1970
31.07.2012 16:53:42
{quote}{login=Hugo}{date=17.06.2010 05:08}{thema=}{post}Вот, нашёл...{/post}{/quote} А не подскажете, как этим можно воспользоваться?
Например, есть вот такой файл (в архиве). Их на самом деле около сотни и хотелось бы как-то автоматизировать процесс переноса данных в Excel. Подскажите, пожалуйста.
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 07:12:07
Решение найдено!
Вот по этой ссылке можно прочитать подробную статью (статьи):
'---
Ключевой момент был раскрыт в этом абзаце (машинный перевод):
В Microsoft Excel 97 — Excel 2003 можно добавить элементы управления для каждого контекстного меню с помощью VBA-кода (хотя это не было протестировано для любого случая) но это не возможно изменение контекстные меню с помощью RibbonX.
Excel 2007 можно добавить элементы управления почти каждый контекстное меню с помощью VBA-кода. Тем не менее не позволяет изменить некоторые контекстные меню, такие как Shapes и Picture контекстное меню с помощью VBA. Кроме того это невозможно изменить контекстное меню с помощью RibbonX.
Excel 2010 можно добавить элементы управления почти каждый контекстное меню с помощью VBA-кода. Действуют те же ограничения для изменения некоторых контекстных меню с помощью VBA как Excel 2007. Кроме того можно добавить кнопки и меню для каждого контекстного меню с помощью RibbonX, но если вы хотите отключить или re-purpose элементы управления, будет возможность найти правильные идентификаторы (idMso).
'---
Например, при редактировании контекстного меню для листов, чтобы убрать кнопку Удалить нужно вставить такие теги:
Оно недовольным становиться, если щёлкнуть по улыбке и потянуть. )))
Вполне нормальный вариант. Жаль только при клике по объекту происходит заливка и пока не уберёшь курсор с объекта процессор грузится по полной программе. Баг мелкомягких. :)
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 05:16:37
При чём отключить полностью можно любые контекстные меню. А убрать опции не у всех.
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 05:12:30
Спасибо за пример, но не получается редактировать вот эти контекстные меню.
Например для "Ply" и "Shapes" уже работать не будет:
With CommandBars("Ply") .Controls(1).Enabled = False End With
With CommandBars("Shapes") .Controls(1).Enabled = False End With
И вот не могу понять почему. Всё ведь аналогично. )))
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 03:48:47
Хочу разобраться, как отключать стандартные опции в контекстом меню. На примере контекстного меню Ply (листы), если можно.
Да, темы подобные были, но там нет ответа на мой вопрос (вроде бы все просмотрел). Пока не удаётся решить самому.
Hello! My blog:
Превращение фигуры при наведении курсором мыши.
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 03:42:22
Вот не добрался пока до наведения мыши на объект, так как проблема уже на уровне обновления фигуры проявилась. Не обновляется фигура, даже если не отключать обновление экрана.
Попытка отражена в файле. Пока так, а дальше ещё надо подумать. ))
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 01:24:46
Упс. Только сейчас увидел, что файл для 2003-го не прикрепил. :)
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 00:51:49
файл для 2003 офиса.
Hello! My blog:
Редактирование контекстного меню (ПКМ)
Пользователь
Сообщений: Регистрация: 01.01.1970
06.04.2012 00:49:07
Приветствую!
На форуме уже много было вопросов по редактированию контекстного меню, но я к сожалению не нашёл ответа на свой вопрос. То есть, добавить/удалить свои кнопки в то или иное контекстное меню не вызывает вопросов. Вопрос стоит, как удалить/скрыть стандартные опции.
В файле книга с примером. В Module1 макрос OnOffPopupMenu формирует контекстное меню для листа (Ply) и тут же показывает его. После его скрытия на текущем листе в таблице выводятся все опции этого меню. Не запускайте макрос на листе с данными, так как лист очищается полностью в начале макроса.
Макрос DisableHideMenuItems удаляет/отключает или скрывает указанную опцию в указанном меню. Точнее так хотелось бы, но этого не происходит. При клике ПКМ на вкладке листа открывается полное контекстное меню. Но запустив макрос OnOffPopupMenu в таблице не будет опции, которую перед этим удаляли.
В общем, помогите, пожалуйста разобраться с этим вопросом.
В Excel 2010 можно настраивать меню Файл. Вот здесь можно почитать статьи по этой теме:
Методом тыка удалось убрать почти все вкладки и кнопки. Но пару вкладок всё никак не могу найти. Вот пример кода XML, который убирает все вкладки панели Ribbon и почти все вкладки в меню Файл:
Может кто-нибудь пробовал уже? Подскажите имена (idMso или idQ) для кнопки Параметры и вкладки Последние. Может это можно выяснить средствами VBA. Пока новая для меня тема.
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
31.03.2012 13:16:46
{quote}{login=RAN}{date=31.03.2012 01:12}{thema=}{post}Экономы! -:) Private Sub Worksheet_Activate() ComboBox1.List = WorksheetFunction.Transpose([test_one]) End Sub{/post}{/quote}
)))))
Ну, тогда сразу при активации книги всё проинициализировать один раз и забыть. :)
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
31.03.2012 13:07:54
{quote}{login=}{date=31.03.2012 12:44}{thema=}{post}Можно и без DBD, но событие DropButtonClick происходит два раза: когда раскрываем список и схлопываем его, в этом случае происходит лишняя, вторая, запись в ComboBox.List . При схлопывании и DBD=True - экономим :-){/post}{/quote}
Да, так правильней. В том смысле, что сразу нужно везде всё экономить. Иначе потом это нарастает, как снежный ком.
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
31.03.2012 12:37:16
Кстати, достаточно даже просто вот так:
Private Sub ComboBox1_DropButtonClick() ComboBox1.List = _ WorksheetFunction.Transpose([test_one]) End Sub
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Вот не видел я, чтобы в справочнике были похожие примеры. А всё ведь дело в нюансах. Вот например, свойство List не видно в свойствах (Propeties) ComboBox. Как можно было догадаться, что его нужно использовать? :) Пошёл перечитывать книги...
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
31.03.2012 11:34:47
{quote}{login=}{date=30.03.2012 11:37}{thema=}{post}Транспонирование возвращает не диапазон, а массив А свойство ListFillRange имеет ввиду именно ссылку на диапазон.{/post}{/quote}
Если в свойство ListFillRange дать ссылку на диапазон без транспонирования, то тоже не выходит. Точнее если дать ссылку на вертикальный диапазон, то получается, а горизонтальный нет. Нужна помощь.
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
30.03.2012 20:41:48
Забыл файл...
Hello! My blog:
выпадающий список в комбобоксе на основании строки
Пользователь
Сообщений: Регистрация: 01.01.1970
30.03.2012 20:39:52
А у меня что-то не получается из горизонтального именного диапазона сделать выпадающий список. Пробовал и через формулу =ТРАНСП(именной диапазон) и вариант, который здесь предлагали, но что-то никак не выходит. Покажите, пожалуйста, на простом примере в приложенном файле.
Hello! My blog:
Как по номеру столбца узнать его букву (VBA)?
Пользователь
Сообщений: Регистрация: 01.01.1970
30.03.2012 19:45:15
to Юрий М:
Ну или "Абсолютно нечего добавить" :) Спасибо. '--- P.S. Цитирование что-то не работает на сайте (браузер Firefox).
Hello! My blog:
Как по номеру столбца узнать его букву (VBA)?
Пользователь
Сообщений: Регистрация: 01.01.1970
30.03.2012 19:25:52
Спасибо за примеры. То есть, если разделитель не указан, то в качестве разделителя выступает пробел, если он есть. Если же нет ни одного пробела, то в массиве один элемент. В качестве разделителей выступают любые указанные знаки. Правильно?
Hello! My blog:
Как по номеру столбца узнать его букву (VBA)?
Пользователь
Сообщений: Регистрация: 01.01.1970
30.03.2012 18:50:11
А что означает (1) ? Посмотрел в справке функцию Split и не нашёл объяснения. Вот как можно было прийти к тому, что в конце нужно добавить (1), чтобы получить такое элегантное решение? )))
Hello! My blog:
Фигуры и автофильтр
Пользователь
Сообщений: Регистрация: 01.01.1970
24.03.2012 19:41:03
Вот такой ещё вопрос по теме.
Объект Label из коллекции ActiveX неплохо подходит для решения поднятой в теме задачи. Но есть ещё одна подзадача в этой задаче. При клике по этому объекту он окрашивается в установленный в свойстве BackColor цвет даже, если в свойстве BackStyle установлена константа fmBackStyleTransparent. И до тех пор пока курсор находится над объектом, даже находясь в статичном состоянии, процессор сильно грузится, а объект заслоняет своим цветом объекты, которые находятся даже над ним по слоям.
Я попробовал при клике по объекту устанавливать заново свойство BackStyle = fmBackStyleTransparent, но это не решает проблему.
Есть ли какое-нибудь решение этой задачи?
Hello! My blog:
Фигуры и автофильтр
Пользователь
Сообщений: Регистрация: 01.01.1970
24.03.2012 17:13:07
Пока ждал попробовал ещё поискать ответ на свой вопрос по другим форумам. Ответ найден. Пользователь EducatedFool предлагал достойное решение:
Private Sub Label1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single) Label1.Caption = "X= " & X & vbLf & "Y=" & Y Call ОкраскаКнопок(X, Y) End Sub
Sub test() MsgBox "макрос запущен", vbInformation End Sub
Sub ОкраскаКнопок(ByVal X As Single, ByVal Y As Single) d = 5: Dim sha As Shape For Each sha In Me.Shapes With sha If .Name Like "MyButton*" Then НадКнопкой_поX = ((Abs(.Left - X) < d) Or (Abs(X - .Left - .Width) < d) Or (X - .Left - .Width) * (.Left - X) > 0) НадКнопкой_поY = ((Abs(.Top - Y) < d) Or (Abs(Y - .Top - .Height) < d) Or (Y - .Top - .Height) * (.Top - Y) > 0) КурсорРядом = НадКнопкой_поX And НадКнопкой_поY НоваяПрозрачность = IIf(КурсорРядом, 0.7, 0.1) If НоваяПрозрачность <> .Fill.Transparency Then .Fill.Transparency = НоваяПрозрачность '.TextFrame.Characters.Font.Bold = КурсорРядом End If End If End With Next End Sub
//---
Жаль что на этом форуме нельзя вставлять код так, чтобы он выглядел как в редакторе. Примите как пожелание для улучшения форума. )))
Hello! My blog:
Фигуры и автофильтр
Пользователь
Сообщений: Регистрация: 01.01.1970
24.03.2012 16:46:32
А можно ли к автофигуре "приклеить" события? Пробовал с помощью класса, но что-то пока не вышло. Если это можно сделать только средствами VBA, покажите пример, пожалуйста.
Hello! My blog:
Запрет выделения любых объектов
Пользователь
Сообщений: Регистрация: 01.01.1970
23.03.2012 12:06:38
Вопрос снят. Удалось решить с помощью метода Protect. Вот его свойства: '--- 'Для графиков и фигур Contents:=False ActiveSheet.Protect _ Password:="hello", _ DrawingObjects:=True, _ Contents:=False, _ Scenarios:=True, _ UserInterfaceOnly:=True, _ AllowFormattingCells:=False, _ AllowFormattingColumns:=False, _ AllowFormattingRows:=False, _ AllowInsertingColumns:=False, _ AllowInsertingRows:=False, _ AllowInsertingHyperlinks:=False, _ AllowDeletingColumns:=False, _ AllowDeletingRows:=False, _ AllowSorting:=True, _ AllowFiltering:=True, _ AllowUsingPivotTables:=True '---
То есть, манипулируя этими свойствами при тех или иных событиях, можно делать не доступными для выделения любые объекты.
Hello! My blog:
Запрет выделения любых объектов
Пользователь
Сообщений: Регистрация: 01.01.1970
21.03.2012 13:18:08
Да, эти объекты (элементы управления) более менее понятны. Интересуют объекты из раздела Вставка => Иллюстрации (2007/2010 Office).
Можно ли как-нибудь их заблокировать и отключить контекстное меню?
Всю справку облазил и не нашёл. Заодно понял, какая неудобная справка по VBA. :)
Hello! My blog:
Запрет выделения любых объектов
Пользователь
Сообщений: Регистрация: 01.01.1970
21.03.2012 12:42:45
Здравствуйте!
Попробовал много разных способов и никак не получается сделать, чтобы при нажатии на левой/правой кнопкой мыши объекты не выделялись. Нашёл в книге Уокенбаха пример с диаграммой. Пример вполне понятен, но не нашёл, как это можно сделать с фигурами или любыми другими объектами.
Например, у Уокенбаха в модуле класса:
Public WithEvents myChartClass As Chart
...далее обработчик нужного события.
В модуле:
Dim SummaryChart As New EmbChartClass
//---
Для фигур это уже не подходит. Пробовал объявлять, как Shape, Shapes, ShapeRange, но не получается. Покажите пример, пожалуйста.
//---
В файле пример от Уокенбаха.
//---
Та же история и с контекстным меню на фигурах. Где угодно меню отключается (на этом форуме много примеров и в книгах тоже), но как отключить меню на фигурах не нашёл, а сам не смог реализовать пока. Нужен пример.