フォーマットがあるExcelデータの置換

各位

どなたかやったことがあれば教えてほしいのですが、添付のファイルみたいな場合の、フォーマットがあるテキストの置換処理をうまくやる方法ってありますか?
単純な置換処理だと、フォーマットが消えてしまいます。また、Excelの式でやる案も考えましたが、
最終的に式を残せないため、値貼り付けの際にフォーマットが消えてしまいます。

inputSample.xlsx (9.2 KB)

もし、いい案があれば教えていただけないでしょうか?

以上、よろしくお願いします。

セルの書式事コピーしたいということですよね?
ExcelCopyPasteRangeアクティビティを使えば可能です。

プロパティのオプション、コピーする内容にValueとCell Formatをチェックを入れれば大丈夫です。

失礼しました、プロパティのValueを設定するとコピーになってしまいますので、
CellFormatのみ行っていただき、置換すればうまくいくかと思います。

@Naokiodaさん

回答どうもありがとうございます。
このActivity試してみたんですが、以下のようになってしまいます。

  1. Cell format のみで実行
    → 貼り付け先の値が消えてしまう。
  2. Cell formatをコピー>テキストの置換
    →テキスト置換のタイミングでフォーマットが消えるのでできない
  3. テキストを置換してからフォーマットをコピー (Excel標準機能)
    →フォーマットが正しくコピーされない

といった風になってしまいます。
やり方が悪いのかもしれないので、可能であれば使用例のxamlをいただけないでしょうか?
以上、よろしくお願いします。

Jumboさん

すいません、私が書式付でコピーしたいというご質問だと早合点していました。

置換について、私の方でもいろいろ操作したのですが、難しそうです。

難しい理由はUiPathどうのこうのというよりはエクセルの仕様による影響なのですが、
セルの中の一部分の文字列だけを置換した場合、置換後にその文字列の部分の書式が消えてしまうのが厄介なところですね。

Cell formatのオプション自体は、セルそのものの書式になるはずですので、
セルの中の一部分のみ、となると、エクセルの置換機能自体を使わないという方向が良いかもしれません。

現実的でないのは十分承知していますが、
置換する文字列は、ひとつのセルに入力し、置換しない文字列は入力しないようにしてしまうか、
Wordなどに張り付けて、置換を行った後、エクセルの方にコピーで戻してくるか、という方法しか思いつきません。
(ワードから単純にエクセルにコピーした場合、改行でセルが行をまたいでしまうので、単純作業ではうまくいかないようです)

お役に立てず申し訳ありません。
この後も触ってみて、うまい方法があれば書き込み致します。

1 Like

@Naokioda さん

ご丁寧な回答どうもありがとうございます。

これがまさしくその通りで、最初は簡単にReplaceすればいいじゃん。と思っていたのですが、できないので困っています。キーボードをinsertモードにして、type intoしてみてもフォーマットは消えてしまいますし、マクロでごにょごにょやるしかないのかな・・・というところで止まっています。

また、Wordを使用するという発想はなかったので、こっちで行けるかどうかは試してみます。
その他、PPT等の別ツールでいい感じの方法がないかも、何パターンか試してみます。

以上、よろしくお願いします。