| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 296 人关注过本帖
标题:求助:vfp控制PPT按键链接跳转指定页无反应是何原因?
只看楼主 加入收藏
cqycyhb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 10楼 schtg
我的电脑是用WPS生成的PPT文件,经测试,还是不能跳转到第30页.

4 天前 15:50
cqycyhb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 11楼 cqycyhb
这个是生成的PPT文件
cs.zip (36.99 KB)
4 天前 15:52
schtg
Rank: 12Rank: 12Rank: 12
来 自:Usa
等 级:贵宾
威 望:67
帖 子:1882
专家分:3654
注 册:2012-2-29
收藏
得分:4 
回复 12楼 cqycyhb
超连接没有写入到指定的页框哈,当然不会跳转的。可能是软件不同造成的哈。
这个是微软的生成的哈
cs_微软的生成的.rar (31.06 KB)


[此贴子已经被作者于2025-2-18 16:55编辑过]

4 天前 16:53
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:728
专家分:2927
注 册:2018-3-13
收藏
得分:12 
恶心的wps!找了台电脑,手工修改 ppt 的超链接设置,却找不到录制 ppt 宏的按钮,只好手工读出来,结果是个奇怪的字符串,用它作为 SubAddress 的值,确实可以跳转到第三十页 恶心的是第一个参数的数值不知道代表什么?

WITH oShape.ActionSettings(1)
    .Action = 7
    .Hyperlink.Address = ''
    .Hyperlink.SubAddress = '150995229,30,第30页'
ENDWITH


这家伙很懒,啥也没留下
4 天前 17:28
cqycyhb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 14楼 csyx
非常感谢,在WPS测试成功了.
4 天前 20:26
cqycyhb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 14楼 csyx
老师,经测试,如果要跳转到第5页,用那串数字则不行。
另外,.Hyperlink.SubAddress = "150995229,30,第30页",后面的两个参数只需1个即可,但没有又不行.还可以省略为
Hyperlink.SubAddress = "150995229,,"
或 Hyperlink.SubAddress = "150995229,0"
Hyperlink.SubAddress = "150995229,A"
甚至Hyperlink.SubAddress = "150995229,"
都可以转到30页,说明150995229是第30页转换成的代码

问题是,如果转到其他页,那代码又是多少呢,转换规则是怎样的呢?
4 天前 21:17
csyx
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:火星
等 级:版主
威 望:37
帖 子:728
专家分:2927
注 册:2018-3-13
收藏
得分:0 
大致推测了一下
150995229 > Transform(150995229, '@0') > 0x0900011D > 0x09000000 + 0x100 + 0x1D
而 0x1D == 29 == 30-1
因此这个数可能是这样的公式:0x09000000 + (255 + 要跳转的页号),要调到第五页就是 0x09000000 + (255 + 5) = 150995204
按这个公式我试了一下是对的,因纯粹是猜测,没官方资料来证实,所以无法知道是否适合其他版本的 wps
我这测试用的版本
图片附件: 游客没有浏览图片的权限,请 登录注册




[此贴子已经被作者于2025-2-18 21:46编辑过]


这家伙很懒,啥也没留下
4 天前 21:29
cqycyhb
Rank: 1
等 级:新手上路
帖 子:11
专家分:0
注 册:2013-8-29
收藏
得分:0 
回复 17楼 csyx
谢谢老师.我测试了一下300页以内,运行没问题.那串数字为 150995199+n ,n为要跳转的页码
.代码修改如下:
* oPPT = CREATEOBJECT("PowerPoint.Application") && 适用微软OFFice

  oPPT = CREATEOBJECT("KWPP.Application")     && 适用WPS office版
oPres = oPPT.Presentations.Add()
LOCAL cID, cTitle
n=210  && 跳转到第210页
* 创建幻灯片并设置标题
FOR i = 1 TO 300
    oSlide = oPres.Slides.Add(i, 1)  && 使用标题布局
    oSlide.Shapes(1).TextFrame.TextRange.Text = "第" + ALLTRIM(STR(i)) + "页"
ENDFOR

* 在第2页添加跳转按钮

oSlide2 = oPres.Slides(2)
oShape = oSlide2.Shapes.AddShape(1, 100, 100, 200, 50)
oShape.TextFrame.TextRange.Text = "跳转到第"+ALLTRIM(STR(n))+"页"

WITH oShape.ActionSettings(1)
    .Action = 7
    .Hyperlink.Address = ''
    .Hyperlink.SubAddress = ALLTRIM(STR(150995199+n))+",0"

ENDWITH
oPres.SaveAs("D:\cs.pptx")

oPres.Close()
oPPT.Quit()
RELEASE ALL
=MESSAGEBOX('文件保存在D盘')
* QUIT
4 天前 22:45
快速回复:求助:vfp控制PPT按键链接跳转指定页无反应是何原因?
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020738 second(s), 9 queries.
Copyright©2004-2025, BC-CN.NET, All Rights Reserved