2016-10-07 1 views
1

У меня проблема: Я пытаюсь создать диаграмму в PowerPoint, используя данные из Excel.vba: right align ticklabels of graph (stacked bar 100%)

Все работает отлично, я открываю PowerPoint, создать диаграмму

Set myChart = ppSlide.Shapes.AddChart2(297, xlBarStacked100).Chart 

Затем я скопировать мои данные из Excel в таблицу (включая текст пунктов) и, наконец, я хочу форматировать диаграмма (размер, положение, цвета ...). Снова все работает нормально, единственное, что не работает, - это выравнивание меток ярлыков. Они автоматически выравниваются по правому краю, но если они слишком длинны и нуждаются в 2 рядах, они центрируются. Но я хочу, чтобы они были выровнены по правому краю. Я знаю, как изменить ticklabels (Fe, чтобы сделать его жирным шрифтом:

myChart.Axes(xlCategory).TickLabels.Font.Bold = msoTrue 

, но я понятия не имею, как выпрямить выравнивать я не могу использовать макро-рекордер, потому что я не могу найти это. функция в Excel, только в РРТ.

Кто-нибудь имеет идея, как я могу это сделать?

заранее спасибо и SRY за мой плохой английский ...

ответ

0

Вы можете установить выравнивание, как это :

myChart.Axes(xlCategory).TickLabels.Alignment = xlRight 

или xlLeft или xlCenter

Направленность Свойство TickLabels (возможные значения в XlTickLabelOrientation перечислении) и TickLabelPosition Свойство оси (возможные значения в XlTickLabelPosition перечислении) также может представлять интерес для Вас.

Update 1

Я посмотрел на фотографии, но все еще не может написать макрос для достижения этой цели. Что касается вашего комментария: Нет, не всегда можно что-то сделать с VBA, которое может быть выполнено через пользовательский интерфейс, например. вставки не имеют одинаковых параметров.

Я могу предложить только два варианта:

  • магазин диаграмма с хорошими параметрами где-нибудь (например, в Personal.xls Excel), и когда вам нужен новый график, не создают его, но Копировать этот экземпляр и вставьте его (ActivePresentation.Slides (1) .ShapeRange.Paste)
  • Сохраните файл как xlsx и обработайте его (разархивируйте и измените XML) - это будет непросто.

Update 2

Да, шаблоны диаграмм это отличная идея. Я попробовал, и он работает:

myChart.ApplyChartTemplate "...\AppData\Roaming\Microsoft\Templates\Charts\TemplateName.crtx" 

Кроме того, вы можете попробовать вызвать PasteSpecial с различными параметрами.

+0

Спасибо за ваш ответ, но won't работу. – loswollos

+0

Если я это сделаю, ярлыки выровнены внизу. Не знаю, почему :-( – loswollos

+0

(как видно из нижеприведенного ответа) – loswollos

0

Изображение 2: Выберите правую кнопку Align вместо 'по центру'

enter image description here