111860
August 1, 2021, 6:11am
1
取得したデータに含まれる漢字をカタカナに変換する必要があります。
(インプット先のシステムで、漢字とカタカナの入力が必須となっています。)
データを取得する際、カタカナの情報がないためどこかから取得することができないため、vbsなどでできないか模索中です。
試したこと
こちらのサイト を参考させていただき、漢字が含まれる文字列である入力引数は「WScript.Arguments(0)」で受け取るように変更しました。
しかし、出力結果が空白になってしまいます。
疑問点
上記サイトは、vb.NetでExcelの漢字変換を呼び出すものだそうですが、これをさらにUiPathから呼び出し結果を取得するために、invoke VBScriptに設定した「結果」の変数をvbs側にも使用しなければいけないと思うのですが、どのようにして結果をUiPathで設定した変数へ引き渡せるでしょうか?
また、Excelなどが入っていないPCでも汎用的に漢字のカナ変換ができる方法があればご教示いただきたいです。
※ちなみに、W●n●c●orではGetPhoneticメソッドを使用し、以下のスクリプトでカナ変換に成功しています。
InputStr = !漢字! ←漢字が含まれる文字列変数
Set xlsApp = CreateObject("Excel.Application")
OutputStr = xlsApp.GetPhonetic(InputStr)
SetUMSVariable $結果$, OutputStr ←変換結果を「結果」に格納
Set xlsApp = Nothing
Yoichi
(Yoichi)
August 1, 2021, 7:30am
2
こんにちは
Excelのかな変換機能を使いたいのであれば、
VBSを使う必要はなく、
InvokeVBAアクティビティでApplication.GetPhonetic を呼び出す、
あるいは、InvokeCodeアクティビティで上記のVB.netのコードを呼び出すなどになると思います。
shinji
(みやぎ)
August 2, 2021, 6:19am
3
Excelでかな変換できるんですね。知りませんでした。
試しにInvokeCodeでやってみました
' # Argument
' - in_text
' - out_text
Dim ap As New Microsoft.Office.Interop.Excel.Application
Try
out_text = ap.GetPhonetic(in_text)
'Console.writeLine(out_text)
Catch ex As Exception
If Not(ap Is Nothing) Then ap = Nothing
Console.writeLine(ex.ToString)
Throw(ex)
Finally
If Not(ap Is Nothing) Then ap = Nothing
End Try
xamlはこんな感じです。
GetPhonetic.xaml (8.3 KB)
2 Likes
111860
August 2, 2021, 9:53am
4
ありがとうございます。
この部分で、「互換運用機能型が見つかりません。アセンブリ参照に不足がないか確認してください」とエラーになってしまいました。
いただいたxamlは実行できるのですが、別のファイルにinvoke code部分だけコピーすると上記エラーになります。(引数は正しく設定しています)
原因はお分かりになりますでしょうか?
shinji
(みやぎ)
August 2, 2021, 11:48pm
5
以下を見てみて下さい
名前空間にCOMコンポーネントへの参照をImportする
1 Like
111860
August 5, 2021, 11:08am
6
ありがとうございます!
こちらでエラーが解消でき、無事にかな変換をすることができました。
※なぜか「解決ボタン」が表示されず現在解決済みにすることができません。
解決ボタンが表示され次第解決とさせていただきます。
system
(system)
Closed
August 10, 2021, 4:56am
7
This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.