Fork me on GitHub

2011/12/22


このエントリーをはてなブックマークに追加
# vim
Vimを起動して
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
 <Worksheet ss:Name="Sheet1">
 </Worksheet>
</Workbook>
XMLを書いて
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
 <Worksheet ss:Name="Sheet1">
  タカッ
  トラッ
  バッタッ
 </Worksheet>
</Workbook>
データを足して
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
 <Worksheet ss:Name="Sheet1">
  タカッ
  トラッ
  バッタッ
 </Worksheet>
</Workbook>
Visual選択してzencoding-vimでラップする。("CTRL-Y" and ",")
Tag: Table>Row>Cell*>Data[ss:Type=String]
<?xml version="1.0"?>
<?mso-application progid="Excel.Sheet"?>
<Workbook xmlns="urn:schemas-microsoft-com:office:spreadsheet" xmlns:ss="urn:schemas-microsoft-com:office:spreadsheet">
 <Worksheet ss:Name="Sheet1">
  <Table>
    <Row>
        <Cell>
            <Data ss:Type="String">タカッ</Data>
        </Cell>
        <Cell>
            <Data ss:Type="String">トラッ</Data>
        </Cell>
        <Cell>
            <Data ss:Type="String">バッタッ</Data>
        </Cell>
    </Row>
  </Table>
 </Worksheet>
</Workbook>
後は
:w Book1.xls
出来上がり。
Excel
Posted at 14:21 in ソフトウェア::vim
Tagged as: ネタ
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2011/12/16


このエントリーをはてなブックマークに追加
そんな餌に俺様が釣られクマー...
@kaoriya

@mattn_jp あきらかにまっつんさんがvim用の記事を書く流れwww


https://twitter.com/#!/kaoriya/statuses/147498428040085504
サラリーマンの為のメールが2倍速く書ける(気がする)辞書 : ライブドア社長ブログ

お疲れ様です。こちら弊社代表取締役社長、出澤のブログでございますが、出澤の執筆ペースが芳しくないので、本日も社員のスエヒロが「会社」や「社長」について代打で書かせて頂きたいと思います。流し打ちの気持ち...

http://blog.idezawa.info/archives/51725271.html
Vimのオムニ補完は最高!
:set omnifunc=salaryman#Complete
こう設定すると
その1
この状態からCTRL-X CTRL-Oをタイプすると...
その2
おぉぉぉ...
さらに...
その3
こんな事も
その4
出来る!!!1

日本語禁則処理も入ってるので多い日も安心!

どうぞご利用下さい!
mattn/salaryman-complete-vim - GitHub

サラリーマンの為のメールが2倍速く書ける(気がする)vim補完

https://github.com/mattn/salaryman-complete-vim
Posted at 11:37 in ソフトウェア::vim
Tagged as: vim, ネタ
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2011/12/15


このエントリーをはてなブックマークに追加
こうですか?わかりません
@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 <= r2; r++ {
        for c := c1; c <= c2; c++ {
            ret := oleutil.MustCallMethod(
                excel,
                "ExecuteExcel4Macro",
                fmt.Sprintf(`""&` + path + `!R%dC%d`, r, c))
            if c != c1 {
                fmt.Fprint(tmp, ",")
            }
            fmt.Fprint(tmp, ret.ToString())
        }
        fmt.Fprintln(tmp)
    }

    oleutil.MustCallMethod(
        excel,
        "ExecuteExcel4Macro",
        `CALL("shell32", "ShellExecuteA", "JJJCCJJ", 0, 0, "gvim", ` +
            `"""` + tmp.Name() + `"" -S session.vim", 0, 1)`)
}
そしてセッション用のvimscript
%s!,!</td><td>!g|:%s!.*!<tr>\r\t<td>&</td>\r</tr>!g|:%s!><!>\r\t<!g
exe "normal! ggO<table>\<esc>Go</table>"
set ft=html
コマンドラインから
excel4macro subtech.xls Sheet1 3 2 7 3  
こう実行する。引数はファイル名、シート名、開始行番号、開始列番号、終了行番号、終了列番号になります。
これで実行すると...

excel4macro
便利!ぇ
Posted at 12:59 in ソフトウェア::go
Tagged as: ネタ
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip

2011/12/13


このエントリーをはてなブックマークに追加
unite-shimapan - C++でゲームプログラミング
http://d.hatena.ne.jp/osyo-manga/20111213/1323771066
乗るしかない!このビッグウェーブに!!!
mattn/unite-nyancat - GitHub
https://github.com/mattn/unite-nyancat
nyancat
2回目の実行でエラーが出たり、「Source:」までもがシンタックスに含まれてしまっているのは仕様です。
Posted at 19:44 in ソフトウェア::vim
Tagged as: ネタ
Bookmarks: add to hatena add to hatena | add to delicious.com | add to livedoor.clip add to livedoor.clip