UiPath로 Excel 작업하기(활용편: 다른 이름으로 저장하기 [완성판])
UiPath로 Excel을 자유롭게 조작하기(활용편: 다른 이름으로 저장) [완성판]
개요
마지막 기사 이름을 붙여 저장하는 방법에 대해 소개했습니다.
htps : // 이 m / 타쿠소에 x / ms / 6에 5 a 54c 020b0f3 a 84c
그러나 새로 저장하는 경우는 성공했지만 아래 그림과 같이 덮어쓰기 저장 등에는 대응하고 있지 않습니다.
이 기사에서는 경고를 무시하고 강제로 이름을 지정하고 저장하는 방법을 소개합니다.
약속사항(면책사항)
스킬
이 기사에는 C#을 통한 맞춤 활동 개발이 포함되어 있습니다.
사용자 지정 활동을 개발하는 방법은 UiPath 공식 문서를 참조하십시오.
(본 기사에서는 최소한만 기재합니다.)
htps : // / cs. 우이파 th. 코 m / 오 c ゔ ぃ 치 s / ぁ ぅ ㅇ / ㅇ cs / c 레 아 찐 g 아쿠 s
필요한 소프트웨어
경고 경고의 정체
위의 이름으로 저장 확인의 정체는 "DisplayAlert"라고합니다.
공식 문서에 설명된 대로 DisplayAlert의 기본값은
True
입니다.따라서 공식 문서의 주석과 같이 DisplayAlert를
True
에서 False
로 변경합니다.htps : // / cs. mic로소 ft. 코 m/쟈-jp/오후우세/v바/아피/에 x세 l. 아 ぃ카치온.ぢspぁ야ぇrts
마지막 구현
마지막 소스 코드는 여기입니다.
DisplayAlert는 Workbook이 아니라 Application 클래스에 포함되어 있으므로 Workbook에서 Applidation을 가져와야 합니다.
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<Object> FileName { get; set; }
protected override void Execute(CodeActivityContext context)
{
object workbookapp = WorkbookApplication.Get(context);
Workbook workbook = workbookapp.GetType().GetProperty("CurrentWorkbook").GetValue(workbookapp) as Workbook;
workbook.SaveAs(Filename: FileName.Get(context), FileFormat: XlFileFormat.xlOpenXMLWorkbook, CreateBackup: false);
}
}
}
워크북에서 애플리케이션 얻기
워크북에 대한 공식 문서를 검토합니다.
htps : // / cs. 미 c 로소 ft. 코 m/쟈-jp/오후우세/v바/아피/에 x세 l. rk 보오 k
그러면 속성에 응용 프로그램이 있었으므로이 속성에서 응용 프로그램을 검색 할 수 있습니다.
htps : // / cs. 미 c 로소 ft. 코 m/쟈-jp/오후우세/v바/아피/에 x세 l. rk 보오 k. 아 ぃ 카치 온
구현
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;
}
}
}
실행 확인
Nuget Package Explorer에서 만든 라이브러리를 UiPath Studio에서 설치한 후 즉시 사용해 봅니다.
c:\tmp\Sample2.xlsx로 이름을 지정하고 저장합니다.
※ 보존처는 절대 패스로 지정해 주십시오.
Reference
이 문제에 관하여(UiPath로 Excel 작업하기(활용편: 다른 이름으로 저장하기 [완성판])), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/takusonix/items/d8070b61c06900d75c92텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)