Модераторы: mihanik
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнить действие из подменю 
V
    Опции темы
zhefran
Дата 19.5.2008, 14:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Мне нужно в макросе выполнить такое дело. Есть СommandBar в Оffice, на нем 6 пунктов меню и 3 из них с выпадающим списком. мне необходимо выполнить команду, которая висит в подменю. Как это можно сделать? 

--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
bilya
Дата 19.5.2008, 15:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 112
Регистрация: 3.1.2007

Репутация: 1
Всего: 1



Не совсем понятно, что вы имеете ввиду под
Цитата(zhefran @  19.5.2008,  14:28 Найти цитируемый пост)
необходимо выполнить команду, которая висит в подменю

Командуют из меню/подменю - как я понимаю - кнопками, у кнопок есть свойство .OnAction, при помощи которого и назначается исполняемый макрос

PM MAIL   Вверх
zhefran
Дата 19.5.2008, 15:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Цитата(bilya @  19.5.2008,  15:23 Найти цитируемый пост)
Командуют из меню/подменю - как я понимаю - кнопками, у кнопок есть свойство .OnAction, при помощи которого и назначается исполняемый макрос

Это не то!
Например:
На CоmmandBar рисование есть Control Автофигуры, когда нажимаем на него выпадает Popup меню на нем пункт Линии, наводим на него курсор появляется еще одно меню на котором отображены линии. Мне нужно оттуда выбрать например, рисование кривой.
Тоесть, я запускаю макрос и сразу могу рисовать кривые линии!!!

--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
Aloha
Дата 19.5.2008, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


.
**


Профиль
Группа: Участник Клуба
Сообщений: 351
Регистрация: 14.5.2006

Репутация: 5
Всего: 165



Код
Application.CommandBars("Lines").Controls(4).Execute


Это сообщение отредактировал(а) Aloha - 19.5.2008, 15:51
PM   Вверх
zhefran
Дата 19.5.2008, 16:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Цитата(Aloha @  19.5.2008,  15:42 Найти цитируемый пост)
    
Application.CommandBars("Lines").Controls(1).Execute

Для примера это подходит, но у меня СommandBar Ink Annotations.
там схоже с примером только цвет линии и тип линии, но я и до них не могу добраться :(.
Пробовал по примеру
Код

Application.CommandBars("Line color").Controls(1).Execute

Не получается.
А в этом контроле еще есть одно меню очень мне необходимое - называется перья для примечаний. 
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
Staruha
Дата 20.5.2008, 09:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1292
Регистрация: 1.2.2004
Где: Казань

Репутация: 13
Всего: 27



Если тебе надо график нарисовать так это Вставка -диаграммы

А линнии рисуются к примеру так
    
Код

ActiveSheet.Shapes.AddLine(143.25, 294#, 336.75, 294#).Select
    ActiveSheet.Shapes.AddLine(336.75, 294#, 399.75, 350.25).Select
End Sub



--------------------
Возмездие настигнет
PM MAIL   Вверх
zhefran
Дата 20.5.2008, 09:20 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Это не график, это рукописные примечания. В ворде если у тебя таблетка со стилусом есть возможность добавлять рукописные примечания. Команда ворд - insertinkannotations, commandbar - ink annotations. Мне нужно из них выбирать параметры. Поиск по гуглу ничего понятного для меня ничего не дал.

Добавлено:
Нашел на MSDN вот такой кодик на JScript
Код

var agCtrl;
var inkPresenter; // Corresponds to InkPresenter element in XAML.
var newStroke = null; // The Stroke variable we'll use here in mouse handlers.
// DrawingAttributes variables.
var daWidth = 2;
var daHeight = 2;
var daColor = "Black";
var daOutlineColor = "Black";

function root_Loaded(sender, args) 
{
    // Get the HTML object that contains the Silverlight plug-in.
    agCtrl = sender.GetHost();
    inkPresenter = sender.findname("inkPresenterElement");
}

// Capture mouse movement when the left button is pressed, and create the stroke.
function InkPresenterMouseDown(sender,args)
{
   inkPresenter.CaptureMouse();
   
   newStroke = agCtrl.content.createFromXaml('<Stroke/>');
   
   var da = agCtrl.content.CreateFromXaml('<DrawingAttributes/>');
   newStroke.DrawingAttributes = da;
   
   // Set the drawing attribute properties.
   newStroke.DrawingAttributes.Width = daWidth;
   newStroke.DrawingAttributes.Height = daHeight;
   newStroke.DrawingAttributes.Color = daColor;
   newStroke.DrawingAttributes.OutlineColor = daOutlineColor;
   
   newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
   inkPresenter.Strokes.Add(newStroke);
}

// Add the new points to the Stroke we're working with.
function InkPresenterMouseMove(sender,args)
{
   if (newStroke != null)
   {
      newStroke.StylusPoints.AddStylusPoints(args.GetStylusPoints(inkPresenter));
   }
}

// Release the mouse.
function InkPresenterMouseUp(sender,args)
{
   newStroke = null;
   inkPresenter.ReleaseMouseCapture();
}

// Set the drawing attributes for a pen.
function SelectPen(sender, args)
{
  daWidth = 1;
  daHeight = 1;
  daColor = "Black";
  daOutlineColor = "Black";
}

// Set the drawing attributes for a marker.
function SelectMarker(sender, args)
{
  daWidth = 10;
  daHeight = 4;
  daColor = "Blue";
  daOutlineColor = "Blue";
}

// Set the drawing attributes for a highlighter.
function SelectHighlighter(sender, args)
{
  daWidth = 25;
  daHeight = 5;
  daColor = "Yellow";
  daOutlineColor = "Yellow";
}

// Erase all strokes from the canvas.
function EraseCanvas(sender, args)
{
  inkPresenter.Strokes.Clear();
}

Можно ли это дело как-то адаптировать так, чтобы записать это все дело в макрос???



Это сообщение отредактировал(а) zhefran - 20.5.2008, 13:03
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
mihanik
Дата 21.5.2008, 20:33 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



Можно!
Адаптируй!
 smile 

В каждой шутке есть доля шутки.
Переведи этот кусок на VB.
Всего и "делов"!



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
zhefran
Дата 27.5.2008, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Сделал по другому. В delphi вывел все имена панелей и прицепился ко мне нужной!
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
mihanik
Дата 27.5.2008, 17:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


-=Белый Медведь=-
****


Профиль
Группа: Комодератор
Сообщений: 4054
Регистрация: 24.4.2006
Где: г. Тверь

Репутация: 9
Всего: 109



zhefran, молодец!!!

Я тоже как-то так делал...
Кусок кода выложить можешь?



--------------------
Программистами не рождаются, - это родовая травма...
user posted imageuser posted image
PM MAIL WWW ICQ   Вверх
zhefran
Дата 31.5.2008, 16:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Вывод в мемо:
Код

//должен быть подключен в проект WordApplication с закладки Servers
procedure TForm1.Button1Click(Sender: TObject);
var i:integer;
 begin
   Button1.Caption:=inttostr(wordapplication1.CommandBars.Count);
    for i:=1 to wordapplication1.CommandBars.Count do
      begin
        memo1.Lines.Add(wordapplication1.CommandBars.Item[i].Name);
  end;
 end;


Название панели, которую я использую - Annotation Pens
Макрос выбора типа пера:
Код

CommandBars("Annotation Pens").Controls.Item(2).Execute
 
Это выбор черной ручки.
До цвета линий не добирался - начотдела сказал, что не нужно, а я й не лез! smile 
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
zhefran
Дата 2.6.2008, 13:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 237
Регистрация: 27.9.2007
Где: Винница-Киев-Ирпе нь-?, Украина

Репутация: нет
Всего: нет



Попробовал добраться до цвета линий (для себя поржать) - не получилось! :(
До палитры цветов отображенной в подменю не смог достучаться!
Получилось получить доступ только до:
 - Другие цвета линий
 - Узорные линии 

Соответственно:
Код

Sub asdas()
CommandBars("Line Color").Controls.Item(4).Execute
CommandBars("Line Color").Controls.Item(5).Execute
End Sub


Это сообщение отредактировал(а) zhefran - 2.6.2008, 13:09
--------------------
Ніщо нізвідки не виникає і нікуди не дівається!Лечение компьютеров от вирусов! Бесплатно!
PM MAIL WWW ICQ   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Программирование, связанное с MS Office"
mihanik staruha

Запрещается!

1. Публиковать ссылки на вскрытые компоненты

2. Обсуждать взлом компонентов и делиться вскрытыми компонентами



  • Несанкционированная реклама на форуме запрещена
  • Пожалуйста, давайте своим темам осмысленный, информативный заголовок. Вопль "Помогите!" таковым не является.
  • Чем полнее и яснее Вы изложите проблему, тем быстрее мы её решим.
  • Оставляйте свои записи в "Книге отзывов о работе администрации"
  • А вот тут лежит FAQ нашего подраздела


Если Вам понравилась атмосфера форума, заходите к нам чаще!
С уважением mihanik и staruha.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Программирование, связанное с MS Office | Следующая тема »


 




[ Время генерации скрипта: 0.1143 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.