|
因为有时外出做ppt要动态显示时间,这时下不到一个flash,只能用vba代码实现
在论坛上搜到代码执行没有问题,有些疑问请教
(ppt2003,都是执行在母版,宏没有定义到可视执行对象,放映前先执行start宏,之后stopit)
Dim isRunning As Boolean //这里有必要先设定isrunning形式么,删了好像也没有影响
Sub start()
isRunning = True
Do While isRunning
DoEvents
ActivePresentation.SlideMaster.Shapes("Time").TextFrame.TextRange.Text = Format(TimeValue(Format(Now, "hh:mm:ss"))) //有一个调用shapes("time")名称问题,如何设定文本框名称?
Loop
End Sub
Sub stopit()
isRunning = False
SlideShowWindows(Index:=SlideShowWindows.Count).View.Exit
End Sub
//这里觉得loop函数容易出问题,运行后还必须停止,有没有更简单的办法?
由于不知道调用的shapes("time")名称如何直接定义到文本框,又找了段代码设定文本框名称"time"
Sub Name()
On Error GoTo AbortNameShape
Dim Name$
If ActiveWindow.Selection.ShapeRange.Count = 1 Then
Name$ = ActiveWindow.Selection.ShapeRange(1).Name
Name$ = InputBox$("请给这个图形命名", "Shape Name", Name$)
If Name$ "" Then
ActiveWindow.Selection.ShapeRange(1).Name = Name$
End If
Else
MsgBox "Only 1 Shape is allowed to be selected"
Exit Sub
End If
Exit Sub
AbortNameShape:
MsgBox "没有选择图形"
End Sub
//觉得这样很麻烦,有没有更简单的方法直接给文本框对象定义名称?(指不用vba,直接菜单操作)
谢谢 |
|