go-ole-msoffice

command module
v0.0.0-...-42fc955 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 1, 2021 License: MIT Imports: 12 Imported by: 0

README

go-ole-msoffice

go-oleでMS Officeを操作しやすくするラッパー群を提供します。

内容

go-oleを用いてGo言語でMS Officeを操作しやすくするラッパー群と、ラッパー群をなるべく手間をかけずに生成するツールです。
JScriptでOfficeを操作する感覚に近いものを目指しています。
一定のルールに従ってjsonを書くことでGo言語のコードを生成します。

インストール

Excelを使いたい場合

go get github.com/tanaton/go-ole-msoffice/excel

Outlookを使いたい場合

go get github.com/tanaton/go-ole-msoffice/outlook

ラッパーの使い方

基本的な考え
  • プロパティを読み出す際は「[オブジェクト].Get[プロパティ名]()」を呼び出す。
  • プロパティを設定する際は「[オブジェクト].Set[プロパティ名]()」を呼び出す。
  • メソッドを呼ぶ際は「[オブジェクト].[メソッド名]()」を呼び出す。
  • プロパティ、メソッド名はVBAのMSDNを参照。
サンプルコード
package main

import (
	ole "github.com/go-ole/go-ole"
	"github.com/tanaton/go-ole-msoffice/excel"
)

func main() {
	// COMの初期化(go-oleで必要。必須!)
	ole.CoInitializeEx(0, ole.COINIT_APARTMENTTHREADED|ole.COINIT_DISABLE_OLE1DDE)
	defer ole.CoUninitialize()

	// エクセルオブジェクトの生成、取得
	e := excel.ThisApplication()
	if e == nil {
		return
	}
	defer e.Release()

	// プロパティの設定
	e.SetVisible(true)
	// プロパティの読み出し
	workbooks := e.GetWorkbooks()
	// メソッドの呼び出し
	workbooks.Open(`C:\test.xlsx`)
}
デモ

ラッパー生成ツールの使い方

  • (後で書く。)

方針

  • 既定プロパティ機能を利用しない。何をやっているのか分からなくなるので。

今後やりたいこと

  • MSDNライブラリをクロールしてある程度自動生成する

ライセンス

MIT

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
example

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL