タンブラー?

Big Sky

12月 15 '11

ExecuteExcel4Macro で CALL ワークシート関数使ってShellExecute呼んでそれでVimScript操作してHTMLを数秒で生成するの作った。

こうですか?わかりません @hasegawayosuke

ExecuteExcel4Macro で CALL ワークシート関数使ってShellExecute呼んでそれでVimScript操作してHTMLを数秒で生成する Excel の使い方をたぶん mattn が書いてくれる。
http://twitter.com/hasegawayosuke/statuses/147123761429217280
まずGo言語のソース(動作には go-oleが必要) package main

import (
    ”fmt”
    ”github.com/mattn/go-ole”
    ”github.com/mattn/go-ole/oleutil”
    ”io/ioutil”
    ”os”
    ”path/filepath”
    ”strconv”
)

func main() {
    ole.CoInitialize(0)

    unknown, _ := oleutil.CreateObject(“Excel.Application”)
    excel, _ := unknown.QueryInterface(ole.IID_IDispatch)
    defer func() {
        if excel != nil {
            oleutil.CallMethod(excel, ”Quit”)
            excel.Release()
        }
    }()

    path, _ := filepath.Abs(os.Args[1])
    sheet := os.Args[2]
    r1, _ := strconv.Atoi(os.Args[3])
    c1, _ := strconv.Atoi(os.Args[4])
    r2, _ := strconv.Atoi(os.Args[5])
    c2, _ := strconv.Atoi(os.Args[6])

    dir, file := filepath.Split(path)

    path = fmt.Sprintf(`’%s[%s]%s’`, dir, file, sheet)

    cwd, _ := os.Getwd()
    tmp, _ := ioutil.TempFile(cwd, ”hasegawayosuke”)
    defer os.Remove(tmp.Name())

    for r := r1; r \r\tg
exe ”normal! ggO

\Go


set ft=html
コマンドラインから excel4macro subtech.xls Sheet1 3 2 7 3  
こう実行する。引数はファイル名、シート名、開始行番号、開始列番号、終了行番号、終了列番号になります。
これで実行すると…

便利!ぇ http://j.mp/v5G60O

1リアクション

  1. mattnの投稿です