.Net 技術のまわりを注目するブログです、もちろん他の個人趣味もあります^^

2010年5月13日木曜日

WordをHTMLへ変換

C# で Office Word フォーマットでドキュメントをHTMLへ変換します。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.IO;

方法1:
private void ConvertFileWordToHtml(string WordFilePath)
{
try
{
//Word ファイル・HTMLの生成先のファイルを指定
object Source = WordFilePath;
string SaveHtmlPath = WordFilePath.Substring(0, WordFilePath.Length - 4) + "html";
object Target = SaveHtmlPath;

//ReadonlyでWordを開く
object Unknown = Type.Missing;
object readOnly = true;
object visible = false;


Microsoft.Office.Interop.Word.Application newApp = new Microsoft.Office.Interop.Word.Application();
Microsoft.Office.Interop.Word.Document doc = newApp.Documents.Open(ref Source, ref Unknown,
ref readOnly, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown, ref Unknown,
ref Unknown, ref Unknown, ref visible, ref Unknown, ref Unknown, ref Unknown, ref Unknown);

// HTMLへ保存
Type docType = doc.GetType();
object format = Microsoft.Office.Interop.Word.WdSaveFormat.wdFormatHTML;
docType.InvokeMember("SaveAs", System.Reflection.BindingFlags.InvokeMethod,
null, doc, new object[] { Target, format,Unknown,Unknown,Unknown,Unknown,Unknown,
Unknown,Unknown,Unknown,Unknown,Unknown,Unknown,Unknown,Unknown,Unknown });
// doc.SaveAs(ref Target, ref format,
// ref Unknown, ref Unknown, ref Unknown,
// ref Unknown, ref Unknown, ref Unknown,
// ref Unknown, ref Unknown, ref Unknown,
// ref Unknown, ref Unknown, ref Unknown,
// ref Unknown, ref Unknown);


// クローズ
doc.Close(ref Unknown, ref Unknown, ref Unknown);
newApp.Quit(ref Unknown, ref Unknown, ref Unknown);
}
catch (Exception e)
{
System.Windows.Forms.MessageBox.Show(e.Message);
}
}


方法2:
protected void ConvertToHtml(string docPath,string htmlPath)
{
Word.Application app=new Word.Application();
app.Visible=false;
Object o=Missing.Value;
object docFile=docPath;
_Document doc=app.Documents.Open(ref docFile,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o);
object fileName=htmlPath;
object format=8;//Html
doc.SaveAs(ref fileName,ref format,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o,ref o);
object t=true;
app.Quit(ref t,ref o,ref o);
}

2010年5月11日火曜日

WebKeeper

 ホームページを作る場合、いろいろなサービスを使えるならいいなと思いますね。言語は PHP、ASP など、データベースは MySQL、Postgres など。この時一番いい方法は自分のパソコンを使えるならいい。使いたい言語を使えるし、使いたいデータベースも使えるし、ページを公開するため、時間をかかって、ページをアップロードしなくてもいいし、メールのサービスも使えるし・・・いいことばかりで数えきれないですね、最高!もちろんお金使えば、いいホストマシンレンタルできるが、普通にデータベースサービスを提供しているマシンの値段が高いし、そして言語とか、データベースの選びに限りがある、ただ自分の趣味でそんなにお金を使うのがもったいないような気がする。
自分のパソコンをWEBサーバにするため、静的な IP アドレスが必要だ。今の ADSL、光などのインターネットサービス会社は大体動的なIPアドレスの形でやっている。私が分かっている限りでは、YahooBB の ADSL サービスは静的な IP アドレスを使っている。( YahooBB 光は使ったことがないだから、分からない^^;)
ここで皆さんに自作のソフトを紹介します( Free です)。動的 IP アドレス環境で自分のパソコンをサーバにするソフト。インターネットで FTP サービスがある無料のホームページを申し込みして、このサーバを自分のサーバのプロキシに役割する。自分の IP アドレスが変わったら、プロキシに新しいIPアドレスを転送し、常にインターネットにつながっている。
家で複数のパソコンはひとつのルータでネットとつながって、うちの一台をサーバにする場合でも、利用できる。

使い方:

  1、インターネットでFTPサービスを提供する無料ホームページを申し込みする(プロキシの役割)
  2、ソフトをダウンロードして、サーバ設定して、実行する

実行環境:
C# で作ったから、Microsoftの「Microsoft .NET Framework」が必要、今のバージョンは2.0
今 WindowsXP pro sq2 しかもっていないから、2000 とか、NT とか、テストできない。もし使えるなら、ぜひお知らせください、よろしくお願いします^^;

ダウンロード


2008年3月18日火曜日

マイクロソフト本社

 今日マイクロソフトと分科会があった、新宿の Microsoft Japan 本社へ行った。行く前では、すごく期待していたね、IT業界のトップ会社だね。
 実際に行ったら、何か自分のイメージと大分違うね、世界で一番お金もちの会社とは言いすぎないだろう、でも、設備、従業員のレベルとかそうでもない、すごく普通な会社の感じにしていた。一番すごいのは、受付のところ、スタッフ4人がいる、お客さんがそんなに多いかね^^;
 今日はいつもより早めに帰れるかなと思って、終わった時はもう6時になって、結局帰ったのはもう8時すぎになった。家に帰って、テーブルの上にケーキがあって、急に思い出して、昨日は僕の誕生日だったw、忘れちゃった。一応今日はやり直すということで^^;

2008年3月8日土曜日

JOHN RAMBO

 今日シルヴェスター・スタローン主演のランボー・シリーズ最新の第 4 弾 『JOHN RAMBO』を見た、
 ・・・
 ・・・
 ・・・
 誰でもこの映画を見たほうがいいと思う、特に国の偉い人たち。一体戦争はいくら怖いものか、その場に身を置くぐらいわかってくる。実際に従来の戦争の映画を見て、戦争はそんなに怖く見えない、最悪ても、玉に打たれて、すぐ死んでしまうじゃないかと思ってた^^;
 今日映画を見て、最初はへえ~~~これはちょっとホラ系っぽいと考えてきた、玉に打たれた人たちの様子はちょっとやりすぎじゃないかと思うよ、しかし、映画が終わって、僕は YouTube でマシンガンのビデオを検索してみた、結果として、この映画の表現は実際の場面と一番近いと思う。気持ち悪いぐらい怖い。
 また YouTube でミャンマー(旧:Burma)のビデオも探してみた、も同じく驚いた・・・
 平和な生活でいいんじゃない、それぐらいの利益のため、人間たちもうお互いに殺してやる、悲しいよね。

2008年3月4日火曜日

忙しかった週末

 投稿したときは、もう火曜日になっているけど、実は先週の週末のことだ。
 先週の金曜日午後 4 時ごろ、急に会社のリーダーさんに呼ばれて、Excel のマクロを作るリクエストが来た。何かの検査作業の結果データをグラフに出力することを VBA で実現してって。納期は来週の月曜日の夜って。
 「Excel のプロだから、大丈夫だろう」って
 わ~、今僕はExcel 上で VSTO 動作の検証作業をやっているけど、VBA のこと全然わからないよ、しかも VB も分りません><、本当に簡単のIF、FOR 文でも、ネット上で調べながら、ソースを書いていたToT
 しかも、すごく偶然に国の親から、週末になって、ビデオチャットしようかと聞かれた。実際にもう半年ぐらいビデオチャットをしていなかった、いつも電話で話していたのに、何でちょうど忙しいところに・・・ToT
 結局週末土曜日も日曜日も、午前中の 2 時間ぐらい と 夜の 4 時間ぐらいだけ、VBA でマクロを作ってみたけど、午後から、ずっとビデオチャットをしていた。
 日曜日の夜 12 時になって、やっとなんとなく使えそうなサンプルレベルのものができて、めっちゃ不安で安眠できなかった、寝たのはもう 3 時ぐらいかな。

 初めて、ゲームをやっていなかった週末が暮らした。でも国の親族とビデオチャットをして、楽しかった^^v

 昨日会社へ行って、やはり、足りないことがいっぱいいっぱい、一日かけて、夕方 5 時ぐらいに、超ださい完成品を提出した、やはり思った通りに修正のリクエストが来た・・・よかったのは明日にしてもいいって^^;
  一日頭の利用率は 100% になっていて、ずっと熱が来てるような気がする。帰る電車で久しぶりに寝てた。