Существует ли будущее для PowerPoint VBA/VSTO? [закрытый]

Для встроенного взламывания Linux простой маршрутизатор Linksys WRT54G, который можно купить везде, является платформой разработки на своем собственном http://en.wikipedia.org/wiki/Linksys_WRT54G_series :

WRT54G известен тому, что был первым сетевым устройством потребительского уровня, которому выпустили его микропрограммный исходный код для удовлетворения обязательств GNU GPL. Это позволяет программистам изменять встроенное микропрограммное обеспечение, чтобы изменить или добавить функциональность к устройству. Несколько сторонних микропрограммных проектов предоставляют общественности расширенное встроенное микропрограммное обеспечение для WRT54G.

я попытался установить OpenWrt и DD-WRT встроенное микропрограммное обеспечение на нем. Можно проверить тех как начальную точку для взламывания на недорогой платформе.

7
задан Todd Main 20 July 2010 в 19:48
поделиться

3 ответа

Я не уверен, что это тот ответ, который вы хотите услышать, но разработка PowerPoint с VBA действительно хороша. Я довольно часто использую его (а также Word и Excel), и он достаточно надежен. OM PowerPoint, который можно запрограммировать с помощью VBA, обновляется с каждой новой версией PPT. В PPT 2007 вы можете создать собственный XML для любого объекта на слайде - это гораздо эффективнее, чем параметры, доступные в Excel и Word. В отличие от этого Word 2007 имеет элементы управления содержимым, от которых он выиграет, чтобы PPT стал своего рода облегченной заменой Crystal Reports. В PPT 2010 (бета) вы можете программно создавать SmartArt, например, как и в Word / Excel 2010. Вы также можете программно работать с мультимедийными элементами лучше, чем раньше. ВСТО, с точки зрения OM, он не предлагает намного больше, чем VBA.

Это может просто зависеть от ваших потребностей - вы создаете стандартные слайды с маркерами? Вы делаете расширенную анимацию? Вы делаете репортажи? Вы создаете "приложения" электронного обучения? Если у вас есть конкретные вопросы по OM, мы можем попытаться помочь вам здесь (но, возможно, эта функция просто не существует).

Согласился, что удаление макро-рекордера было отстойным, это была полезная функция. Непосредственная работа с PML / DML также является проблемой. Есть вещи, которые мне хотелось бы поддержать и в ОМ. Но, учитывая спелеологию, я не верю, что VBA скоро исчезнет.


ПРИМЕЧАНИЕ : ЭТО НЕ РАБОТАЕТ . ЭТО ПРЕДОСТАВЛЯЕТСЯ ТОЛЬКО В КАЧЕСТВЕ ОТЧЕТНОЙ ТОЧКИ, ЕСЛИ НАРОД ХОЧЕТ ПОПЫТАТЬСЯ РАЗВИТЬ ЭТО ЧТО-ТО, ЧТО МОЖЕТ РАБОТАТЬ (, если вы можете заставить его работать, Функция частного объявления GetCursorPos Lib "user32" (ByVal lpPoint как POINTAPI) до тех пор, пока Частный тип POINTAPI x Пока y Пока Тип конца Dim ret As Long Тусклая мышь Положение как POINTAPI Частная подпрограмма PPTEvent_WindowSelectionChange (ByVal Sel As Selection) Dim ElementID как долго Dim Arg1 As Long Dim Arg2 As Long С Сел Если .Type = ppSelectionShapes Тогда Dim sr As ShapeRange sr = .ShapeRange Если sr.Type = msoChart, то Дим ш как форма Dim slideNumber As Integer slideNumber = ActiveWindow.View.Slide.SlideIndex sh = ActivePresentation.Slides (номер слайда) .Shapes (sr.Name) Dim crt As Chart crt = sh.Chart H = ActiveWindow.Height w = ActiveWindow.Width ret = GetCursorPos (mousePosition) x = mousePosition.x y = mousePosition.y crt.GetChartElement (x, y, ElementID, Arg1, Arg2) MsgBox ("X:" & x & ", Y:" & y & vbNewLine & _ "ElementID:" & ElementID & ", Arg1:" & Arg1 & ", Arg2:" & Arg2) Конец, если Конец, если Конец с Конец подписки

  • В обычном модуле вы можете запускать / останавливать обработку событий следующим образом:

     Public newPPTEvents As New clsPPTEvents
    Sub StartEvents ()
     Установите newPPTEvents.PPTEvent = Application
    Конец подписки
    Подконечные события ()
     Установить newPPTEvents.PPTEvent = Ничего
    Конец подписки
    
  • Обратите внимание, что в коде в # 2 это не работает из-за того, что возвращает GetCursorPos, а именно экран X, Y. При просмотре события выясняется, что GetChartElement хочет ограничить окно или панель. координаты окна или только сама карта.

    8
    ответ дан 6 December 2019 в 19:38
    поделиться

    Powerpoint никогда не была популярной платформой для разработки VBA. В этом контексте я понимаю отказ от функций пользовательского интерфейса для VBA. Очень легко включить поддержку VBA для Powerpoint на основе Excel и Word, которая не исчезнет в ближайшее время, если вообще исчезнет. В долгосрочной перспективе мои деньги пойдут на поддержку устаревших версий, а помощь со стороны Microsoft в решении проблем будет практически отсутствовать.

    Помните, что MS стремится к обратной совместимости - и они очень осторожны, когда отказываются от нее.

    4
    ответ дан 6 December 2019 в 19:38
    поделиться

    Я согласен, что PPT намного ниже других vba. Прежде всего это кажется глючным, см. Странная ошибка в powerpoint vba

    Событие модели неудобно, так как автоматическое выполнение не выполняется Как автоматически запускать инициализацию объекта приложения в Powerpoint?

    auto_open возможно только обходным путем, создав надстройку, как насчет пользователей, которые получают ваш ppt и не знают, как установить подключаемый модуль: (

    1
    ответ дан 6 December 2019 в 19:38
    поделиться
    Другие вопросы по тегам:

    Похожие вопросы: