- - PR -
OWC11(スプレッドシート)内の文字列を検索したい
1
投稿者 | 投稿内容 |
---|---|
|
投稿日時: 2008-11-26 17:13
お世話になります。
C#.NETで開発しております。 早速質問なのですが、XMLスプレッドシート内のある文字列を検索し 他の文字列と置換する処理をしようとしております。 検索のところでつまずいています。 Renge.Findメソッドというものを見つけたのですがこれでできますでしょうか? http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.range.find(VS.80).aspx すみません。ご教授お願い致します。 |
|
投稿日時: 2008-11-26 17:26
置換なら Replace というメソッドがありますよ。
http://msdn.microsoft.com/ja-jp/library/microsoft.office.interop.excel.range.replace(VS.80).aspx _________________ Nakamura Blog |
|
投稿日時: 2008-11-26 17:56
>なかむら様
はい。置換はReplaceでやろうと思っていたのですがスプレッドシート内の文字列の検索の方法がわからないのです。 例えば、シートの中にabcという文字列があったらそこのセル番号を持ってきて他の値とリプレースという処理をしたいのですが、シート内の文字列の検索がわかりません・・・ |
|
投稿日時: 2008-11-26 18:49
あれ、ひょっとしてReplaceメソッドだけで検索もできて置換もできるんですか(汗)
|
|
投稿日時: 2008-11-26 19:58
Replace だけで出来ると思います。
第1引数で検索対象の文字列を指定し、第2引数で置き換える文字列を指定すればいいかと。 例えばシート内の abc という文字列を def に置換する場合、次の手順になります。 1.シート全体を対象とした Range オブジェクトを取得。 2.取得した Range オブジェクトの Replace メソッド呼び出し。第1引数に"abc"、第2引数に "def" を指定。残りは適切なものを指定。 _________________ Nakamura Blog |
|
投稿日時: 2008-11-26 20:32
ありがとうございます。
Spreadsheet sht = new Spreadsheet(); sht.XMLURL = "http://localhost/TmpFile/xxx.xml"; sht.get_Range("A1","D4").Replace("aaa", "bbb"); こんな感じでやってみたのですができませんでした。 全体を対象としたオブジェクトとはどのように取得したらよろしいでしょうか? |
|
投稿日時: 2008-11-27 11:42
Spreadsheet に Cells プロパティまたは Rows プロパティは無いのでしょうか?
あと、Replace メソッドの引数を省略しない方法も試してみて下さい。 _________________ Nakamura Blog |
|
投稿日時: 2008-12-08 19:40
お返事遅くなりました。申し訳ありません。
とりあえずリプレースは使わないでセル毎を読み込んでそのセルに直接文字列を埋め込む方法で一時的に解決しました。 リプレースを使ったやり方でもまた試してみようと思います。 |
1