none
[Office2010 API]虚线的点距问题 RRS feed

  • 问题

  • 用office2010插入一条直线到word中,

    将直线的线条样式设置为虚线(MsoLineDashStyle.msoLineDash)时,

    发现虚线的点距比office2007的大:

    office2007: --------->

    office2010:-  -   -  ->

    另外将生产docx文件用word2010打开并设置成另外的样式再设回来后,间距就变成和2007一样了。

    请问是什么原因?如何用api调整成和2007一样? 

    谢谢。

    2011年3月10日 8:39

答案

  • 你好, 哈哈,发现你有在office development 英文询问同样的问题: http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/7d1aca1c-947c-49b0-b6fe-fa5fcc8587c7 根据我们工程师的描述,貌似是你word本身的问题,因为根据测试是不存在这样的问题的。
    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手

    你好,

    这个原题我们已经解决,但确实是2007和2010的差异造成的。

    原因是2010的线的枚举类型从原来的8种增加到了12种(其中四种ui界面看不到,只能通过api来设定),而多出来的四种枚举值有两个分别是比较宽的方点线和比较宽的短划线,就是上面提到的那种。并且2007中的枚举值:MsoLineDashStyle.msoLineSquareDot是对应ui看到的方点线的,但到了2010就变成了比较宽的方点线,而ui上看到的方点线的枚举值却变成了MsoLineDashStyle.msoLineSysDot(忘记是不是这个名字了,总之枚举值是11)另外2007的msoLineDash到2010变成了MsoLineDashStyle.msoLineSysDash(枚举值是10)

    下面是官方提到的枚举值,但是只有1到8号,没有9到12号,实际上msoLineSquareDot和msoLineDash在word2010的用户界面是没办法设定出来的。

    Member name Description
    msoLineDash Line consists of dashes only.
    msoLineDashDot Line is a dash-dot pattern.
    msoLineDashDotDot Line is a dash-dot-dot pattern.
    msoLineDashStyleMixed Not supported.
    msoLineLongDash Line consists of long dashes.
    msoLineLongDashDot Line is a long dash-dot pattern.
    msoLineRoundDot Line is made up of round dots.
    msoLineSolid Line is solid.
    msoLineSquareDot Line is made up of square dots.

    • 已标记为答案 Paul Zhou 2011年3月17日 2:48
    2011年3月16日 13:15

全部回复

  • 你好, 哈哈,发现你有在office development 英文询问同样的问题: http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/7d1aca1c-947c-49b0-b6fe-fa5fcc8587c7 根据我们工程师的描述,貌似是你word本身的问题,因为根据测试是不存在这样的问题的。
    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手
    2011年3月13日 14:13
  • 你好, 哈哈,发现你有在office development 英文询问同样的问题: http://social.msdn.microsoft.com/Forums/en-US/worddev/thread/7d1aca1c-947c-49b0-b6fe-fa5fcc8587c7 根据我们工程师的描述,貌似是你word本身的问题,因为根据测试是不存在这样的问题的。
    如果您对我们的论坛在线支持服务有任何的意见或建议,请通过邮件告诉我们。
    MSDN 论坛好帮手 立刻免费下载  MSDN 论坛好帮手

    你好,

    这个原题我们已经解决,但确实是2007和2010的差异造成的。

    原因是2010的线的枚举类型从原来的8种增加到了12种(其中四种ui界面看不到,只能通过api来设定),而多出来的四种枚举值有两个分别是比较宽的方点线和比较宽的短划线,就是上面提到的那种。并且2007中的枚举值:MsoLineDashStyle.msoLineSquareDot是对应ui看到的方点线的,但到了2010就变成了比较宽的方点线,而ui上看到的方点线的枚举值却变成了MsoLineDashStyle.msoLineSysDot(忘记是不是这个名字了,总之枚举值是11)另外2007的msoLineDash到2010变成了MsoLineDashStyle.msoLineSysDash(枚举值是10)

    下面是官方提到的枚举值,但是只有1到8号,没有9到12号,实际上msoLineSquareDot和msoLineDash在word2010的用户界面是没办法设定出来的。

    Member name Description
    msoLineDash Line consists of dashes only.
    msoLineDashDot Line is a dash-dot pattern.
    msoLineDashDotDot Line is a dash-dot-dot pattern.
    msoLineDashStyleMixed Not supported.
    msoLineLongDash Line consists of long dashes.
    msoLineLongDashDot Line is a long dash-dot pattern.
    msoLineRoundDot Line is made up of round dots.
    msoLineSolid Line is solid.
    msoLineSquareDot Line is made up of square dots.

    • 已标记为答案 Paul Zhou 2011年3月17日 2:48
    2011年3月16日 13:15