SecondaryUse開発日記

データベース参照ツールを開発しています。そのツールの開発、利用方法秘話などなどの紹介

Excelの置換処理

SecondaryUseの印刷でExcelを使うとき、文字列の置換を行いますがVersionによって動作が異なるようです

 Office2010,Office2013では、<<置換文字1>><<置換文字2>> を同じセルに定義しても置換処理は出来たのですが、Office2016,Office2019ではこれが出来ません

 Office2016,Office2019では、1つのセルに1つの置換文字の定義れあれば大丈夫ですが使い勝手が悪くなりました

 私が無知だけかもしれませんが。 docs.microsoft.com

Excel.Range myCell = range.Find(loldValue,
After,
LookIn,
LookAt,
SearchOrder,
SearchDirection,
MatchCase,
MatchByte,
SearchFormat);

if (myCell != null){
bool bReplace = range.Replace(
loldValue,
lnewValue,
LookAt,
SearchOrder,
MatchCase,
MatchByte,
SearchFormat,
ReplaceFormat
);

if (bReplace){
string cellsValue = myCell.Value.ToString();
myCell.Value = cellsValue.Replace(loldValue.ToString(), lnewValue.ToString());
}}

そこで、range.Replaceに失敗したら文字列でReplaceを行うようにしました

Version 4.21.2.15以降対応いたします