思考的猪

猪一思考,屠夫就发笑

smilewaterID:smilewater
2434次访问,排名2万外好友0人,关注者0
smilewater的文章
原创 6 篇
翻译 0 篇
转载 0 篇
评论 1 篇
最近评论
erway:廖老师,您提到的这项功能很适用啊,有没有一种让大家能够很方便地在线写作然后又很方便地将最后的内容插入到word中的方法呢?
文章分类
    收藏
      相册
      存档
      软件项目交易
      订阅我的博客
      XML聚合  FeedSky
      订阅到鲜果
      订阅到Google
      订阅到抓虾
      订阅到BlogLines
      订阅到Yahoo
      订阅到GouGou
      订阅到飞鸽
      订阅到Rojo
      订阅到newsgator
      订阅到netvibes

      原创 用Ruby的OLE 自动化把文本文件内容插入到Word中收藏

      新一篇: Ruby Object 类详细分析(1) | 旧一篇: Ruby的头号Gem:Rake

      博文要我写一本有关Ruby的书,其中对文本文件(代码,配置文件)的格式是有特殊要求,文件路径用Arial Narrow 小四、斜体,正文用Courier New 五号。下面的这个Ruby程序使用OLE Automation来做这个工作。

      #insert_file_to_word.rb
      require "win32ole"

      begin
            word = WIN32OLE.connect("word.application")
      rescue
            #如果没有打开的Word程序,创建一个
            word = WIN32OLE.new("word.application")
            word.documents.add
      end

      word.visible = true

      doc = word.ActiveDocument()

      #保存原有的文本字体
      old_font_name = word.selection.font.name
      old_font_size = word.selection.font.size
      old_font_italic = word.selection.font.italic

      #创建文件路径字体
      word.selection.font.name = "Arial Narrow"
      word.selection.font.size = 12
      word.selection.font.italic = true

      #输入文件路径
      word.selection.typeText("#{ARGV[0]}\n")

      #创建文件文本字体
      word.selection.font.name = "Courier New"
      word.selection.font.size = 10.5
      word.selection.font.italic = false

      #一行行写入,换行符用\11,这样可以作为一个整体来
      #处理文件,而不用分段。
      ARGF.each do |line|
            word.selection.typeText("#{line.chomp}\x0b")
      end

      word.selection.typeText("\n")

      #恢复原有字体
      word.selection.font.name = old_font_name
      word.selection.font.size = old_font_size
      word.selection.font.italic = old_font_italic

      可以在命令行中输入 ruby insert_file_to_word.rb <FILE_TO_BE_INSERTED>,我用的是UltraEdit
      的自定义工具功能,新建一个叫做"Insert to word"的菜单项,菜单的命令行部分使用ruby
      d:\work\ruby_works\ruby_book\win32\insert_file_to_word.rb %F
      ,这样一来,只要打开这个文件,然后按一个快捷键,文件文本就会出现到Word文档中。

       

      发表于 @ 2007年07月11日 17:04:00|评论(loading...)|编辑

      新一篇: Ruby Object 类详细分析(1) | 旧一篇: Ruby的头号Gem:Rake

      评论

      #erway 发表于2007-07-17 11:59:05  IP: 221.232.223.*
      廖老师,您提到的这项功能很适用啊,有没有一种让大家能够很方便地在线写作然后又很方便地将最后的内容插入到word中的方法呢?
      2007-07-20 15:57:11作者回复
      Google Docs 应该是一个比较好地在线写作工作吧(原先的Writely),它也有类似Word的格式,也可以转换成Word、PDF,但是转换出来的格式处理还是有点麻烦。
      发表评论  


      当前用户设置只有注册用户才能发表评论。如果你没有登录,请点击登录
      Csdn Blog version 3.1a
      Copyright © smilewater