2015-09-29 1 views
2

Я создаю код VBA, который изменяет значение shapename на shapeslide и обновляет его значение до shapetext. Они предопределены в Excel, начиная с ячеек J2,K2,L2. Значения для shapetext в Excel - это функция =ROUND(A2+B2,3), так как я хочу, чтобы PowerPoint обновлялся с 3 десятичными знаками. В Excel эти значения для shapetext показаны правильно, например, «2,330» (я использую шведский пакет Office, где «,» - десятичная точка), но когда я обновляю соответствующее значение в PowerPoint, я получаю значение « 2,33 "- значение" 0 "опущено. Если в номере нет «конечного» нуля, PowerPoint обновляется правильно, например «0,348» в Excel дает «0,348» в PowerPoint.Обновление PowerPoint из Excel с 3 десятичными знаками

Set pppres = ppapp.ActivePresentation 
r = 2 
Do 
    shapeslide = Cells(r, 10) 
    shapename = Cells(r, 11) 
    shapetext = Cells(r, 12) 
    pppres.Slides(shapeslide).Shapes(shapename).TextEffect.Text = shapetext 
    r = r + 1 
Loop Until Cells(r, 10) = "" 

Можно ли «сила» PowerPoint, чтобы показать значение с 3 знаков после запятой, даже если это окончание ноль?

Заранее спасибо

ответ

1

Попробуйте это (Непроверено)

pppres.Slides(shapeslide).Shapes(shapename).TextEffect.Text = _ 
Format(val(trim(shapetext)),"0.000") 
+0

Спасибо за это! Когда я использовал 'pppres.Slides (formslide) .Shapes (shapename) .TextEffect.Text = _ Формат (shapetext," 0.000 ")' Я получил желаемые результаты! – Cenderze

+0

Рад, что это сработало для вас :) –

Смежные вопросы