LoginSignup
0
1

More than 3 years have passed since last update.

UiPathでExcelを操作する(活用編: CSVファイルをxlsx形式に変換する)

Last updated at Posted at 2020-06-21

UiPathでExcelを操作する(活用編: CSVファイルをxlsx形式に変換する)

概要

UiPathでcsvファイルをxlsx形式に変換して保存する方法をご紹介します。

本記事では、UiPathでExcelを操作する(活用編: 名前を付けて保存する[完成版])の実装および、アクティビティを流用します。

お約束事項(免責事項)

  • この記事は2020年6月時点の情報を基に作成しております。
  • 記事の内容は私個人の見解であり、所属する組織の公式見解ではありません。

スキル

この記事には、C#によるカスタムアクティビティの開発が含まれます。
カスタムアクティビティの開発方法は、UiPath公式のドキュメントを参照ください。
(本記事では最低限のみ記載します。)
https://docs.uipath.com/activities/lang-ja/docs/creating-a-custom-activity

必要なソフトウェア

  • Visual Studio
  • Nuget または Nuget Package Explorer
  • Microsoft Office

実装(前回と同じ)

using Microsoft.Office.Interop.Excel;
using System;
using System.Activities;
using System.ComponentModel;

namespace UiPathCustomLibrary
{
    public class SaveAs : CodeActivity
    {
        [Category("Input")]
        [RequiredArgument]
        public InArgument<Object> WorkbookApplication { get; set; }
        [Category("Input")]
        public InArgument<String> FileName { get; set; }
        protected override void Execute(CodeActivityContext context)
        {
            // 引数(InArgument)より、WorkbookApplicationのオブジェクトを取得する
            // WorkbookApplicationの属性に必須(RequireArgument)を指定しているため、workbookappのnullチェックは不要
            object workbookapp = WorkbookApplication.Get(context);

            // WorkbookApplicationから、Microsoft.Office.Interop.Excel.Workbook型として(キャストして)、CurrentWorkbookを読み込む
            Workbook workbook = workbookapp.GetType().GetProperty("CurrentWorkbook").GetValue(workbookapp) as Workbook;

            // WorkbookのプロパティからApplicationを取得する
            Application application = workbook.Application;
            // 変更前のDisplayAlertを保持する
            bool prevDisplayAlert = application.DisplayAlerts;

            // DisplayAlertを一時的にFalseにする
            application.DisplayAlerts = false;

            // 名前を付けて保存する 
            workbook.SaveAs(Filename: FileName.Get(context), FileFormat: XlFileFormat.xlOpenXMLWorkbook, CreateBackup: false);

            // DisplayAlertを元に戻す
            application.DisplayAlerts = prevDisplayAlert;
        }
    }
}

実行確認

ExcelApplicationScopeでは”Sample.csv"ファイルを指定し、SaveAsでは"Sample2.xlsx"としています。
Nuget Package Explorerで作成したライブラリをUiPath Studioでインストールした後、早速使ってみます。
「c:\tmp\Sample2.xlsx」として名前を付けて保存します。
※ 保存先は絶対パスで指定してください。

image.png

image.png

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1