Automation program creation apparatus, automation program creation method, automation program creation program, computer-readable recording medium, and recording device

The automation program creation method simplifies RPA program creation by allowing users to select applications and designate data ranges in tabular format, reducing complexity and required code.

JP2026010208APending Publication Date: 2026-01-21KEYENCE CORP
View PDF 5 Cites 0 Cited by

Patent Information

Application Number
JP2025181219
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Filing Date
2025-10-27
Publication Date
2026-01-21

AI Technical Summary

Technical Problem

Creating RPA programs is complex due to the need for users to understand the order and types of variables used across multiple applications, making it difficult for those unfamiliar with programming.

Method used

An automation program creation method that involves selecting applications, designating data ranges, and generating programs using a summary procedure creation unit, allowing data to be transcribed in tabular format, simplifying the creation process.

Benefits of technology

Reduces the number of templates and code required, making it easier for users to create automation programs by visualizing data transcription.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2026010208000001_ABST
    Figure 2026010208000001_ABST
Patent Text Reader

Abstract

To facilitate the preparation of an automated program by reducing the amount of codes to be written by a user.SOLUTION: The method includes selecting a first application and a second application and creating an outline procedure in an outline procedure creation part, selecting a range to be acquired in data of the first application selected in the outline procedure creation part in an acquisition range designation part, holding data in the range set in the acquisition range designation part in a memory part as table data in a table format, designating a transfer destination to which data based on the table data of the second application selected in the outline procedure creation part is transferred, and generating an automation program based on the outline procedure created in the outline procedure creation part, the range set in the acquisition range designation part, and the transfer destination.SELECTED DRAWING: Figure 1
Need to check novelty before this filing date? Find Prior Art

Description

[Technical Field]

[0001] The present disclosure relates to an automation program creation device, an automation program creation method, an automation program creation program, a computer-readable recording medium, and a device on which the program is recorded. [Background technology]

[0002] Robotic Process Automation (RPA) automates tasks that humans used to perform in a computer desktop environment by having a program execute those tasks. To create an RPA program, which is a program that executes tasks in RPA, users must write code.

[0003] A solution similar to RPA is known in which a scenario for managing a storage device is executed instead of the storage device management work performed by an operator. A method for such a solution is known in which a template is used to facilitate scenario creation. Patent Document 1 discloses that a scenario is created by embedding variables in a template.

[0004] However, applying the technique of embedding variables in templates to generate desired scenarios to the creation of RPA programs can actually make the process more difficult. Because tasks performed by users in a computer desktop environment typically involve multiple applications, the tasks executed by RPA programs also involve multiple applications. Therefore, templates that can generate RPA programs by embedding variables must reflect the order in which applications are used in the tasks to be automated. RPA program creators must first correctly understand the order in which applications are used and the types of variables used in those applications for the tasks to be automated, and then select an appropriate template from a wide variety of templates. This can be difficult for people unfamiliar with programming. [Prior art documents] [Patent documents]

[0005] [Patent Document 1] Japanese Patent Application Laid-Open No. 2005-339213 Summary of the Invention [Problem to be solved by the invention]

[0006] One of the objects of the present disclosure is to provide an automation program creation device, an automation program creation method, an automation program creation program, a computer-readable recording medium, and a recording device that make it easy to create automation programs while reducing the number of templates and the amount of code that the user needs to write. [Means for solving the problem]

[0007] According to an embodiment of the present invention, an automation program creation method for automating an operation of transcribing data acquired from a first application (a source application) to a second application (a destination application) includes the steps of: selecting the first application and the second application, and creating a general procedure using a general procedure creation unit; selecting a desired range of data from the first application selected by the general procedure creation unit using an acquisition range designation unit; storing the data within the range designated by the acquisition range designation unit as tabular data in a memory unit; designating a destination to which data from the second application selected by the general procedure creation unit based on the tabular data is to be transcribed; and generating an automation program based on the general procedure created by the general procedure creation unit, the range designated by the acquisition range designation unit, and the transcription destination. By configuring the system to transcribe data from the first application to the second application in tabular format, the user can easily designate the desired range to input and visualize the data to be transcribed, thereby simplifying the creation of automation programs, which has previously been complex.

[0008] According to an embodiment of the present invention, an automation program creation program for generating an automation program for automating an operation of transcribing data acquired from a first application (a source of transcription) to a second application (a destination of transcription), the program can be configured to allow a computer to select the first application and the second application and create a summary procedure using a summary procedure creation unit; select a desired range of data from the first application selected by the summary procedure creation unit using an acquisition range designator; store the data within the range designated by the acquisition range designator as table data in a memory unit; designate a transcription destination to which data from the second application selected by the summary procedure creation unit based on the table data is to be transcribed; and generate an automation program based on the summary procedure created by the summary procedure creation unit, the range designated by the acquisition range designator, and the transcription destination. With the above configuration, setting the data from the first application to be transcribed to the second application in table format makes it easier for a user to designate a desired range of input and to visualize the data to be transcribed, thereby simplifying the creation of automation programs, which was previously complicated.

[0009] Furthermore, a computer-readable recording medium or device storing the program according to an embodiment of the present invention is a medium for storing the program or a device storing the program. Examples of the recording medium include magnetic disks such as CD-ROM, CD-R, CD-RW, flexible disk, magnetic tape, MO, DVD-ROM, DVD-RAM, DVD-R, DVD+R, DVD-RW, DVD+RW, Blu-ray (trade name), UHD BD (trade name), and HD DVD (AOD (trade name)), optical disks, magneto-optical disks, semiconductor memories, and other media capable of storing the program. The program also includes programs distributed by downloading over a network such as the Internet, as well as those stored on the recording medium. Devices storing the program include general-purpose or dedicated devices in which the program is implemented in an executable form, such as software or firmware. Each process or function included in the program may be executed by computer-executable program software, or each process may be implemented by hardware such as a predetermined gate array (FPGA, ASIC), or by a combination of the program software and partial hardware modules that implement some of the hardware elements. In this specification, a computer-readable medium also includes a non-transitory tangible medium or a transitory propagating signal.

[0010] According to an embodiment of the present invention, an automation program creation device for automating the operation of transcribing data acquired from a first application (a source application) to a second application (a destination application) can include: a summary procedure creation unit for prompting a user to select the first application and the second application and creating a summary procedure; an acquisition range designation unit for selecting a desired range of data from the first application selected by the summary procedure creation unit; a memory unit for storing the data within the range designated by the acquisition range designation unit as tabular data; a transfer destination designation unit for designating a transfer destination to which data from the second application selected by the summary procedure creation unit based on the tabular data is to be transcribed; and an automation program creation unit for generating an automation program based on the summary procedure created by the summary procedure creation unit, the range designated by the acquisition range designation unit, and the transfer destination designation unit. By configuring the data from the first application to be transcribed to the second application in tabular format, the above-described configuration allows a user to easily designate a desired range of data to be input and easily visualize the data to be transcribed, thereby simplifying the creation of automation programs, which has previously been complex.

[0011] According to an embodiment of the present invention, an automation program creation device for automating the operation of transcribing data acquired from a first application to a second application includes a processor for generating an automation program that allows a user to select between acquiring data from the first application and transcribing the data to the second application, select a desired range of data included in any data file of the selected first application, set a data transcription unit for transcribing the selected range of data to the second application as tabular source data, display the transcribed data to be transcribed to the selected second application based on the set data transcription unit, and transcribe the set range of tabular source data from the selected first application to the selected second application based on the set data transcription unit. This configuration allows a user to specify the desired range of data to be input to the second application in tabular format, making it easier for the user to visualize the data to be transcribed, thereby simplifying the creation of automation programs, which was previously complicated. [Effects of the Invention]

[0012] According to one embodiment of the present disclosure, it is possible to reduce the number of templates and the amount of code that a user must write, thereby facilitating the creation of an automation program. [Brief explanation of the drawings]

[0013] [Figure 1] FIG. 1 is a schematic diagram showing a series of operations to be automated. [Figure 2] 1 is a block diagram showing a hardware configuration of an automated program creation device according to an embodiment of the present invention; [Figure 3] FIG. 3 is a functional block diagram of the processor unit in FIG. 2. [Figure 4]FIG. 2 is a block diagram showing the software configuration of an automation program creation program according to an embodiment of the present invention. [Figure 5] FIG. 10 is a schematic diagram showing the interaction between the automation program creation program and spreadsheet software. [Figure 6] FIG. 1 is a schematic diagram showing interactions between an automation program creation program and a Web browser. [Figure 7] FIG. 10 is a schematic diagram showing an example of interaction between an automation program creation program and software to be automated. [Figure 8] 1 is a flowchart showing the procedure for creating an automation program using RPA software. [Figure 9] FIG. 10 is a schematic diagram showing an outline procedure creation screen. [Figure 10] 10 is a flowchart showing a procedure for setting detailed settings for importing spreadsheet software. [Figure 11] FIG. 10 is a schematic diagram showing a spreadsheet software acquisition range designation screen. [Figure 12] 10 is a flowchart showing the procedure for setting up transcription. [Figure 13] FIG. 10 is a schematic diagram showing a general transcription detail setting screen. [Figure 14] FIG. 10 is a schematic diagram illustrating an example of an operation record screen. [Figure 15] FIG. 10 is a schematic diagram showing an activity list screen. [Figure 16] FIG. 10 is a schematic diagram showing a screen for setting an operation record screen. [Figure 17] FIG. 10 is a schematic diagram illustrating an example of a table data transcription output detailed setting screen. [Figure 18] FIG. 18 is a schematic diagram showing a state in which the upper left cell of the table in FIG. 17 is selected. [Figure 19] FIG. 10 is a schematic diagram showing a state in which column name options are displayed. [Figure 20] FIG. 10 is a schematic diagram showing a table navigation screen. [Figure 21] FIG. 10 is a schematic diagram showing a table operation screen. [Figure 22]FIG. 22A is a schematic diagram showing an example of an expense list, and FIG. 22B is a schematic diagram showing an example of a newly generated table. [Figure 23] FIG. 2 is a schematic diagram illustrating tables to be joined. [Figure 24] This is a table in which the table in Figure 23 is joined by "customer code." [Figure 25] FIG. 10 is a schematic diagram showing tables to be stacked vertically. [Figure 26] This is a table that compiles the table in Figure 25 using the table stacking function. [Figure 27] This is a table that compiles the table in Figure 23 using the table stacking function. [Figure 28] FIG. 10 is a schematic diagram showing a table from which a difference is to be calculated; [Figure 29] FIG. 29 is a schematic diagram showing a table obtained by taking the differences in FIG. 28. [Figure 30] FIG. 29 is a schematic diagram showing a table extracted from common parts of FIG. 28. [Figure 31] FIG. 10 is a schematic diagram showing a state in which the title of an article is manually selected on a target Web page. [Figure 32] FIG. 32 is a schematic diagram showing a state in which titles of multiple articles have been automatically selected on the Web page of FIG. 31. [Figure 33] FIG. 10 is a schematic diagram illustrating an example of an output detail setting screen. [Figure 34] 33. FIG. 34 is a schematic diagram showing an example of a web scraping extract preview display displayed in the web scraping extract preview display field on the output detail setting screen of FIG. [Figure 35] FIG. 10 is a schematic diagram showing another example of a web scraping extraction preview display. [Figure 36] 10 is the first part of a flowchart showing the procedure for setting detailed Web import settings. DETAILED DESCRIPTION OF THE INVENTION

[0014] Embodiments of the present invention will be described below with reference to the drawings. However, the embodiments described below exemplify an automation program creation device, an automation program creation method, an automation program creation program, a computer-readable recording medium, and a device on which the program is recorded, embodying the technical concepts of the present invention. The present invention does not limit the automation program creation device, the automation program creation method, the automation program creation program, the computer-readable recording medium, and the device on which the program is recorded to the following. Furthermore, this specification does not in any way specify the components shown in the claims to the components of the embodiments. In particular, the dimensions, materials, shapes, and relative positions of components described in the embodiments are not intended to limit the scope of the present invention, and are merely illustrative unless otherwise specified. Note that the size and positional relationships of components shown in each drawing may be exaggerated for clarity. Furthermore, in the following description, the same names and symbols indicate components that are identical or of the same quality, and detailed description will be omitted as appropriate. Furthermore, the elements constituting the present invention may be configured with the same components, so that multiple elements can be served by one component, or conversely, the functions of one component can be shared by multiple components. [Embodiment 1]

[0015] The automation program creation device is a device that assists users in creating automation programs, commonly referred to as RPA (Robotic Process Automation), that automate tasks previously performed by users in a desktop environment of a personal computer. FIG. 1 is a conceptual diagram illustrating a method for creating an RPA program using the automation program creation device of the present invention to execute a transcription task that outputs data from a file or application to a form in a file or application. The spreadsheet software SS, web browser WB, and automation target software GS, located on the left side of FIG. 1, are source applications that display data to be transcribed in the transcription task. The spreadsheet software SS, web browser WB, automation target software GS, and email software MS, located on the right side of FIG. 1, are destination applications that output data to be transcribed in the transcription task. In this embodiment, the automation target software GS refers to all applications that can be operated by a user in a desktop environment. For example, the automation target software GS, which serves as the transcription source application in this embodiment, refers to any application that can be operated by a user other than the spreadsheet software SS and web browser WB. Furthermore, for example, the automation target software GS as the transcription destination application in this embodiment indicates an application that can be operated by the user other than the spreadsheet software SS, the web browser WB, and the email software MS.

[0016] In this embodiment, a transcription task is defined as a task of acquiring data from a source application and outputting it to a destination application. For example, a transcription task of transcribing data from a data file of spreadsheet software SS to another data file of the same spreadsheet software SS is shown in Fig. 1 as a task of acquiring data from a data file of spreadsheet software SS as a source application (shown on the left in Fig. 1) and outputting the data or data based on the data to a data file of spreadsheet software SS as a destination application (shown on the right in Fig. 1). Similarly, a task of transcribing data from a page being viewed in a web browser to a form in a specific software is shown in Fig. 1 as a task of acquiring data from a web browser WB as a source application (shown on the left in Fig. 1) and outputting the data or data based on the data to automation target software GS as a destination application (shown on the right in Fig. 1).

[0017] When a user creates an RPA program that performs such a transcription task, the user must consider which data to treat as variables and how to handle those variables. For example, the user must consider what data to acquire from the transcription-source application as what variables, how to edit the acquired data and process it into data to be output to the transcription destination, and how to output which variables to the transcription-destination application. Creating a program while considering how to handle variables can be difficult for users who are unfamiliar with programming. In this embodiment, as shown in FIG. 1, the data acquired from the transcription-source application is stored as a table, making it easy to specify how to handle variables. Details will be described later.

[0018] 2 shows the configuration of a general-purpose computer PC that functions as the automation program creation device of this embodiment. The computer PC includes a display unit 11 such as a display, an input unit 12, a bus 13, a communication unit 14, a processor unit 20, a memory unit 15, and a storage unit 16. An automation program creation program is installed in the computer PC, causing the computer PC to function as the automation program creation device. In this embodiment, the general-purpose computer PC functions as the automation program creation device, but a dedicated automation program creation device may also be configured as hardware.

[0019] The display unit 11 displays each application shown in FIG. 1 and screen information provided by the automation program creation program. The display unit 11 may be configured with, for example, a liquid crystal display (LCD), an organic light-emitting diode (OLED), or the like. The display unit 11 may be configured with a touch panel, in which case the touch panel serves both as the display unit 11 and the input unit 12. The input unit 12 includes input devices such as a keyboard 12a, a mouse 12b, and a touchpad 12c. The bus 13 constitutes a data transmission path for exchanging data between components. The communication unit 14 is a component for data communication with external devices, and standardized communication interfaces and modules such as Ethernet (product name) and IEEE802.x can be used. In this way, connection with external devices can be performed wired or wirelessly. The processor unit 20 is a component that performs various calculations and processing, and can be suitably realized by a CPU, MPU, SoC, ASIC, or the like. The memory unit 15 expands load modules during execution of a computer program and stores temporary data generated during execution of the computer program. The memory unit 15 can be a RAM configured with volatile memory such as SRAM or SDRAM, or a ROM configured with non-volatile memory such as EEPROM. The storage unit 16 is a component for storing various information such as automation program execution files, data, and setting information. The storage unit 16 is configured with a hard disk, semiconductor memory, portable media, etc. (Processor unit 20)

[0020] 3 is a functional block diagram showing the functions of the processor unit 20 of the computer PC that functions as the automation program generation device of this embodiment. The processor unit 20 has an automation program generation unit 25 and an automation program execution unit 26. The automation program generation unit 25 is a functional block for generating an automation program, and has an outline procedure creation unit 21, an acquisition range designation unit 22, a transcription designation unit 23, and an operation record setting unit 48. The automation program execution unit 26 is a functional block for executing the automation program generated by the automation program generation unit 25.

[0021] The outline procedure creation unit 21 is a functional block for setting an outline procedure that indicates the transfer of data between applications in the automated transcription work. The outline procedure creation unit 21 has a repetition setting unit 31. The repetition setting unit 31 is a functional block for setting a procedure that is to be repeated among the outline procedures set by the outline procedure creation unit 21.

[0022] The acquisition range designation unit 22 is a functional block for specifying the range of data in the transcription-source application in which data to be acquired exists. It displays screen information for designating the range and accepts user designations for the screen information. In this embodiment, data in the transcription-source application includes data contained in a file handled by the transcription-source application and data contained in screen information displayed by a function of the transcription-source application. For example, if the transcription-source application is spreadsheet software SS and data is acquired from a file displayed in a tabular format by the spreadsheet software SS, this corresponds to acquiring data contained in the file handled by the transcription-source application. In this case, a designation of the range in the file in which the data to be acquired exists is accepted. In particular, if data is acquired from a file displayed in a tabular format by the spreadsheet software SS, the range in which the data to be acquired exists is specified by specifying the rows and columns of the table. Furthermore, for example, if the transcription-source application is automation software GS and a character string displayed by a function of the software is acquired as data, this corresponds to acquiring data contained in screen information displayed by a function of the transcription-source application. In this case, a designation of the range in the screen information in which the character string to be acquired exists is also accepted. Although details will be described later, if it is difficult to specify data using a method specific to the target application, such as specifying data using rows and columns in spreadsheet software SS, the data acquisition range is specified using the function of operation record setting unit 48, which will be described later.

[0023] The acquisition range designation unit 22 also includes an automatic table recognition execution unit 35. The automatic table recognition execution unit 35 is a functional block that extracts data from files that are handled by spreadsheet software SS but have a format that makes it difficult for users to specify the range of data to be acquired because the data arrangement is inconsistent, and then formats the data into a format that makes it easier for users to specify the range. For example, in a file that contains both parts intended as a table and parts that are not, the unit recognizes the parts surrounded by ruled lines as the parts intended as a table and extracts the table. Furthermore, for example, the unit recognizes cells that are joined across multiple columns as cells with a single column and extracts the table. Furthermore, for example, when extracting data from multiple files, the unit adds a file name indicating the source of each row as a new column to extract the table. In this way, a table is generated that is formatted in a format that makes it easy for users to specify the range by appropriately applying known algorithms. The user specifies the range in which the data to be acquired exists by specifying rows and columns in the formatted table.

[0024] In this way, the data of the transcription source application for which the range of data to be acquired is specified by the acquisition range designation unit 22 is held in the memory unit 15 as table data.

[0025] When the transcription source application is a spreadsheet software SS, table data is generated by arranging data contained in the transcription source application for each column displayed on the spreadsheet software SS. Even when a table is recognized by the automatic table recognition execution unit, data is arranged based on the formatted table to generate table data. That is, the spreadsheet software SS is an application that arranges data according to rows and columns, which are rules that are easy to use for generating table data. When the transcription source application is a web browser WB, data viewed by the user through the web browser WB is arranged according to HTML tags. Therefore, table data is generated by arranging data contained in the transcription source application for each tag. That is, the web browser WB is an application that arranges data according to tag information, which is a rule that is easy to use for generating table data. Thus, when the transcription source application is an application that arranges data according to rules that are easy to use for generating table data, the table data is generated according to those rules. In this embodiment, examples of applications that arrange data according to rules that are easy to use for generating table data include, but are not limited to, the spreadsheet software SS and the web browser WB. If the data of the transcription-source application is arranged according to certain rules and these rules are well known, a method for generating table data from the data of the transcription-source application can be set in advance in the acquisition range specification unit 22, so that data can be arranged according to rules that are easy to use for generating table data. In this case, as with the spreadsheet software SS and the web browser WB, the type of transcription-source application is set by the outline procedure creation unit 21, and the corresponding table data generation method is applied, generating table data from the data of the transcription-source application. The data is arranged in the table data according to the rules for arranging data in the transcription-source application. The column names of the generated table data may be set appropriately by the user.

[0026] Furthermore, if the acquisition range designation unit 22 does not support the data arrangement rules of the automation target software GS, which is the transcription source application, for example, if the automation target software GS is an application used only within a certain company, it is difficult to generate table data in accordance with the data arrangement rules of the automation target software GS. In such cases, as described above, the data acquisition range is designated by the function of the operation record setting unit 48. When designating the data acquisition range using the function of the operation record setting unit 48, the data acquisition range and the column names of the table data are designated in accordance with the user's operation. More specifically, the position information or coordinate information in the object hierarchy related to the data designated by the user is associated with the designated column name. By associating them in this manner, table data is generated in which data included in the first screen information displayed by the automation target software GS and data included in the second screen information displayed by the automation target software GS and located at the same position as the data are arranged in the same column.

[0027] In this way, data from the transcription-source application for which the range of data to be acquired has been specified by the acquisition range designation unit 22 is acquired as table data by an appropriate method according to the type of the transcription-source application, and the table data is stored in the memory unit 15. The table data stored in the memory unit 15 is given a name so that it can be distinguished from other table data similarly stored in the memory unit 15, but the name may be assigned by the user. In this case, the acquisition range designation unit 22 accepts the name to be assigned to the table data.

[0028] The transfer specification unit 23 is a functional block for specifying data to be transferred to a transfer destination application. The transfer specification unit 23 includes a transfer destination specification unit 23a, a transfer unit specification unit 23b, a table operation unit 23c, and a transfer data preview unit 23d.

[0029] The transcription destination designation unit 23a is a functional block for designating a form into which data in the transcription destination application is to be written, and displays screen information for designating the form and accepts user designations for the screen information. In this embodiment, the form of the transcription destination application is the target where a user makes some designation based on the data to be transcribed in conventional transcription work, and includes a text box where the user inputs text data, a combo box where the user selects any option from predetermined options, and a radio button that indicates which of multiple options has been selected.

[0030] The transcription unit designation unit 23b is a functional block for designating the unit of transcription of data acquired from the range designated by the acquisition range designation unit 22. That is, the transcription unit designation unit 23b designates the range of data to be transcribed in one transcription. As described above, data to be transcribed to the transcription destination application is stored in the memory unit 15 as table data, so the transcription unit designation unit 23b accepts designation of the number of rows as the unit of data transcription. Note that, when transcription to the transcription destination application, the unit of which is designated by the transcription unit designation unit 23b, is subject to repetition in the outline procedure, the unit designated by the transcription designation unit 23b is treated as the unit of transcription.

[0031] The table operation unit 23c is a functional block for manipulating data stored in the memory unit 15 as table data and editing the data to be written to the transfer destination application. The operations on the table data by the table operation unit 23c include a filter operation that determines which rows to display depending on whether the data included in a certain column satisfies a predetermined condition, and a table join operation that joins multiple table data according to conditions such as common column items.

[0032] The transfer data preview unit 23d is a functional block that displays the table operated by the table operation unit 23c and the unit into which data specified by the transfer unit designation unit 23b is to be transferred to the table. The user checks the information displayed by the transfer data preview unit 23d to confirm the transfer unit that the user set and the results of the table operation.

[0033] The operation record setting unit 48 is a functional block for recording user operations on any application of the transcription source application or the transcription destination application.

[0034] 4 to 7 are diagrams showing the relationship between software and data possessed by a computer PC that functions as an automation program creation device of this embodiment. The RPA software RS shown in FIGS. 4 to 7 is an automation program generation program. When the RPA software RS is installed, the processor unit 20 functions as an automation program generation unit 25 and an automation program execution unit 26, and is therefore shown in FIGS. 4 to 7 as a functional block included in the RPA software RS.

[0035] As shown in Figure 4, the RPA software RS acquires data from existing applications such as spreadsheet software SS, web browser WB, and other automation target software GS, and writes data to these existing applications. Data acquisition and writing to existing applications are performed by the functions of each functional block of the automation program generation unit 25 when an automation program is generated, and by the automation program execution unit 26 when the generated automation program is executed. The automation program generation unit 25 also generates table data based on data acquired from the transcription source application, stores the table data in the memory unit 15, and generates an automation program by setting the writing of data to the transcription destination application by referring to the table data stored in the memory unit 15. The automation program execution unit 26 executes the transcription task based on the generated automation program.

[0036] When using the RPA software RS to support the creation of automation programs, the RPA software RS exchanges data via API with an external program such as spreadsheet software SS, which reads data files such as xlsx, such as Microsoft Excel (product or service name), as shown in Figure 4. In addition, the web browser WB (data format is html files) and the RPA software RS communicate between processes using tools such as Selenium to retrieve, write, and manipulate data.

[0037] The automation program generation unit 25 also supports the creation of automation programs in table data format. The automation programs created by the automation program generation unit 25 are saved as RPA program files in the storage unit 16 or the like. The automation program execution unit 26 then reads out the saved RPA program files and executes the automation programs. This automatically executes a series of predefined operations.

[0038] FIG. 5 shows the relationship between the RPA software RS and the spreadsheet software SS. The RPA software RS communicates with the spreadsheet software SS via COM to operate the spreadsheet software SS. By operating the spreadsheet software SS, the RPA software RS obtains the values ​​of cells in a table displayed by the spreadsheet software SS as data acquisition from a file, and writes data to cells in a table displayed by the spreadsheet software SS as data writing. In this embodiment, the spreadsheet software SS is Excel, and the file displayed by the spreadsheet software SS has the extension .xlsx. In this case, the RPA software RS may write data to a file using the Excel file operation library process.

[0039] Figure 6 shows the relationship between the RPA software RS and the web browser WB. When retrieving data from a web browser, the RPA software RS has the user operate the web browser. At this time, it obtains the path of the element clicked by the user with a pointing device such as a mouse via an extension function previously added to the web browser WB. The RPA software RS uses an Xpath as a search expression based on the obtained path to extract the elements of the path corresponding to the Xpath. When the RPA software RS executes the created automation program, it identifies the path of the form displayed on the web browser WB via the web browser WB's extension function and transcribes data into the elements of the identified path.

[0040] When the RPA software RS generates an Xpath from a path obtained by the web browser WB's extension function, it generates an Xpath that can extract elements at the same level as the element corresponding to that path, and can extract multiple elements at the same level as the element specified by the user operating the web browser WB. In this case, if the user specifies multiple elements that are determined to be at the same level, an Xpath can be generated from the common part of the paths of the multiple elements, improving the accuracy of generating an Xpath suitable for extracting elements at the same level.

[0041] FIG. 7 shows the relationship between the RPA software RS and the automation target software GS, whose operations are automated using the operation record setting unit 48. The RPA software RS and the automation target software GS communicate with each other via UIAutomation. UIAutomation is a library provided by Microsoft. When creating an automation program, the automation program generation unit 25 accepts user operations performed on the automation target software GS. More specifically, the automation program displays a translucent window TW in front of the automation target software GS, allowing the display information of the automation target software GS to be visible. In this embodiment, the computer PC accepts operations through the application corresponding to the screen information displayed in the foreground. Therefore, operations intended by the user to be performed on an application behind the translucent window TW are accepted as operations on the translucent window TW. The automation program generation unit 25, which accepts user operations using the translucent window TW function, passes the mouse position specified by the accepted user operation to UIAutomation. As a result of the mouse position being passed, UIAutomation receives information related to the UI element of the user interface at the mouse position. The information related to the UI element here includes the position of the UI in the hierarchy and UI attributes (for example, whether data can be entered or whether it is a combo box). Based on this information related to the UI element, the automation program generation unit 25 displays operation content options indicating the content of the operation to be performed on the UI element. The automation program generation unit 25 accepts the operation content selected by the user for the UI element, records the operation content and the UI element in association with each other, and returns the operation content and information specifying the UI element to UIAutomation, causing it to execute the operation on the automation target software GS.

[0042] When the created automation program is executed, information specifying the UI element and the operation content associated with the UI element are sent to UIAutomation, and a predetermined operation is executed on the UI.

[0043] Note that when the RPA software RS supports the creation and execution of an automation program for the automation target software GS, the method is not limited to using UIAutomation or the like. For example, an API provided by the OS, which is the environment in which the automation target software GS and the RPA software RS are executed, may be used. As an example, the Win32API (product or service name) provided by the Windows (product or service name) OS may be used to monitor operation events sent from the OS to each application and generate an automation program. Furthermore, the operation contents indicated in the automation program may be performed on the automation target software GS via the Win32API, thereby executing the automation program.

[0044] The RPA software RS of this embodiment has multiple modes for creating automation programs. One of the modes is navigation mode, which is a guided mode for creating an automation program while guiding the user through the steps required to create the automation program that matches the automation program the user is trying to create. Figure 8 shows a flowchart for creating an automation program that performs transcription work using the RPA software RS in navigation mode.

[0045] First, in step S901 of FIG. 8, the outline procedure creation unit 21 displays an outline procedure creation screen as screen information for the user to create an outline procedure. (Outline procedure creation screen 110)

[0046] FIG. 9 shows an example of the outline procedure creation screen 110. The user operates the outline procedure creation screen 110 to create an outline procedure. The outline procedure created by the user corresponds to a transcription task, and the user specifies a transcription source application and a transcription destination application. Therefore, even if an option "Extract data from spreadsheet software SS" is displayed and the user selects this option, it can be assumed that the spreadsheet software SS has been selected as the transcription source application. In this way, the automation program creation device of this embodiment prompts the user to create an outline procedure by displaying, as options, the applications used in the transcription task, which are relatively easy to specify. In addition, screen information is displayed for the user to specify information necessary to retrieve data from the transcription source application and information necessary to write data to the transcription destination, according to the outline procedure created by the user selecting an application. This reduces the difficulty for the user to create an automation program.

[0047] The outline procedure creation screen 110 will be described in detail using Figure 9. By first creating an outline scenario and then creating a detailed scenario, it becomes easier to create a scenario based on the user's workflow. The items in the center of the screen are selectable outline operations (activities). Of the outline operations listed in the operation candidate list 112 in the center of the screen, you can add the desired item to the operation selection list 114 on the right side of the screen by clicking on it to select it and then pressing the "Add" button 113. Furthermore, if you press the "Next" button 117, and activities have been added to the operation selection list 114 on the right, you will be transitioned to a screen for making detailed settings for each outline operation in the order of the added items. On the other hand, if there are no activities in the operation selection list 114, no transition will occur. Pressing the "Discard and return" button 118 will cancel the creation navigation settings and exit.

[0048] On the outline procedure creation screen 110, an outline procedure icon 111 in the operation candidate list 112 is added to the operation selection list 114, thereby selecting a transcription source application and a transcription destination application. In the example of FIG. 9, when the outline procedure icon 111 called "spreadsheet software" in the form "What do you want to extract data from?" is added to the operation selection list 114, the spreadsheet software SS is selected as the transcription source application. The icon called "Web" corresponds to the web browser WB, and the icon called "any application" corresponds to the automation target software GS. Also, in the example of FIG. 9, when the outline procedure icon 111 called "spreadsheet software" in the form "What do you want to write data to?" is added to the operation selection list 114, the spreadsheet software SS is selected as the transcription destination application.

[0049] The outline procedure creation screen 110 also includes a repetition setting icon 119. The user creates an outline procedure that includes steps to be repeatedly executed by combining the outline procedure with the repetition setting icon 119. The repetition setting unit 31 displays screen information related to repetition based on the outline procedure that includes the repetition setting icon 119. In FIG. 9, when the user selects the "Make specified range repeatable" button 115 while selecting an outline procedure icon 111 arranged as an outline procedure, the repetition setting icon 119 is inserted above the selected outline procedure. The selected outline procedure icon 111 is displayed one level lower than the repetition setting icon 119, indicating that it is an outline procedure for which repetition has been set.

[0050] In the example of the first embodiment, the spreadsheet software SS is selected as the transcription source application, and the spreadsheet software SS and the web browser WB are selected as transcription destination applications. Also, some of the operations for writing data to the automation target software GS, the spreadsheet software SS, and the web browser WB as transcription destination applications are set to be repeated.

[0051] As shown in FIG. 8, after displaying the outline procedure creation screen 110 in step S901, it is determined in step S902 whether the creation of the outline procedure has been completed. If not, step S902 is repeated; if completed, the process proceeds to step S903.

[0052] In step S903, the automation program creation unit determines whether a transcription source application was selected in step S901. If the automation program creation unit determines that a transcription source application has been selected, it starts setting the acquisition range in step S904 according to the application selected as the transcription source application. After the automation program creation unit completes setting the acquisition range in step S904, it proceeds to step S905. Also, if the automation program creation unit determines in step S903 that a transcription source application has not been selected, it proceeds to step S905. (Setting the acquisition range for spreadsheet software SS)

[0053] FIG. 10 is a flowchart showing details of the acquisition range specification executed by the acquisition range specification unit 22 when the spreadsheet software SS is selected as the transcription source application. In step S1101, the acquisition range specification unit 22 determines whether the mode is an automatic table acquisition mode in which automatic table recognition is performed. If the acquisition range specification unit 22 determines that the mode is an automatic table acquisition mode, in step S1102, the acquisition range specification unit 22 performs automatic table recognition using the function of the automatic table recognition execution unit. The automatic table recognition is performed, a formatted table is generated, and the process proceeds to step S1103. If the acquisition range specification unit 22 determines in step S1101 that the automatic table acquisition mode is not in the automatic table acquisition mode, the process proceeds to step S1103. In step S1103, the acquisition range specification unit 22 specifies the range in which the data to be acquired exists, in the table formatted by the automatic table recognition execution unit or in the table displayed in table format by the spreadsheet software SS. After the acquisition range is specified in step S1103, the acquisition range specification unit 22 specifies the name of the table data to be generated from the acquired data in step S1104. In step S1104, the acquisition range designation unit 22 may accept a name for the table data from the user, or may designate a name that can be distinguished from other table data already stored in the memory unit 15. In step S1105, the acquisition range designation unit 22 generates table data in which the top row of the acquisition range designated in step S1103 is used as a column heading, and assigns the name designated in step S1104 to the table data and stores it in the memory unit 15.

[0054] FIG. 11 shows a spreadsheet software acquisition range specification screen 130 displayed by the acquisition range specification unit 22 when the automatic table acquisition mode is not selected. This diagram is a screen for accepting user operations in steps S1103 and S1104 in FIG. 10 described above. In FIG. 11, a form labeled "File Name," "Sheet Name," and "Cell" is displayed to accept the specification of the table range to be executed in step S1103. Also, in FIG. 11, a form labeled "Name of Extracted Table" is displayed to accept the specification of the name to be executed in step S1104. In the example of FIG. 11, the name "Expense List" is specified. Furthermore, in FIG. 11, a trigger button 138 for executing step S1105 is provided. The name of the table data specified in step S1104 is a variable name for retrieving the table data from the memory unit 15 in the RPA software RS.

[0055] 8, after the acquisition range has been specified, the automation program creation unit determines in step S905 whether a transcription destination application was selected in step S901. If the automation program creation unit determines that a transcription destination application has been selected, it executes transcription settings in step S906. After completing transcription settings in step S906, the automation program creation unit proceeds to step S907. If the automation program creation unit determines in step S905 that a transcription destination application has not been selected, the automation program proceeds to step S907.

[0056] 12 is a flowchart showing details of settings related to transcription executed by transcription designation unit 23 when an arbitrary application is selected as the transcription destination application. In step S1301, table data to be called from memory unit 15 is selected. In step S1302, table operation unit 23c functions to accept an operation on the table data selected in step S1301 and edit the table data in accordance with the operation. In step S1303, transcription unit designation unit 23b functions to designate a unit to be transcribed to the transcription destination application for the table data called in step S1301 or the table data edited in step S1302. After accepting the designation of the unit to be transcribed in step S1303, transcription destination designation unit 23a functions to designate a form to which data will be transcribed in the transcription destination application.

[0057] In step S1304, the transcription destination designation unit 23a displays screen information for accepting the user's designation of the transcription destination form according to the transcription destination application. If the transcription destination application is spreadsheet software SS, it accepts designation of the transcription destination file, sheet, cell, etc. If the transcription destination application is web browser WB, it launches the web browser WB, acquires user operations on the web browser WB via an extension function of the web browser WB, and identifies the form selected by the user on the web browser WB. If the transcription destination application is automation target software GS, it identifies the form using the function of the operation record unit.

[0058] Figure 13 shows a general transcription detail setting screen 150 that is displayed as one form of transcription setting in step S906. The general transcription detail setting screen 150 shown in this figure shows one form of the transcription specification unit 23. The general transcription detail setting screen 150 is used to set details of data transcription. In the example of Figure 13, the general transcription detail setting screen 150 displays an activity display field 121 on the left side of the screen, and a transcription detail specification field 152 from the center to the right of the screen. In this example, the general transcription detail setting screen 150 displays a detailed setting screen for the activity selected in the activity display field 121, in this case "Record operations and perform input / output."

[0059] The details of data transcription, in which data within the range set in the acquisition range designation unit 22 in FIG. 3 is transcribed as source data in a table format, are designated by the user in the transcription designation unit 23.

[0060] The transcription detail specification field 152 in FIG. 13 is provided with a transcription data specification field 153 and an operation execution determination field 156 as one form of the transcription specification unit 23 . (Transfer data specification field 153)

[0061] The transfer data specification field 153 has fields corresponding to the table data selection executed in step S1301, the table operation executed in step S1302, and the transfer unit specification executed in step S1303 shown in the flowchart of Fig. 12. By operating the transfer data specification field 153, the user can set details of the data to be transferred to the transfer destination application.

[0062] The transfer data designation field 153 has a table data reference / non-reference designation field 155 and a table data designation field 153b. The user can designate whether or not to reference table data stored in the memory unit 15 by operating the table data reference / non-reference designation field 155. In the example of FIG. 13, referencing table data is selected. Furthermore, the user operates the table data designation field 153b to designate table data including data to be transferred or data for generating the data to be transferred. In other words, the transfer data designation field corresponds to step S1301 in the flowchart of FIG. 12 described above. The example of FIG. 13 indicates that table data named "Expense List" is selected.

[0063] The transcription data specification field 153 also has a transcription unit preview field 154 as one form of the transcription unit preview section 24. The transcription unit preview field 154 displays the format of the data to be transcribed based on the detailed settings of the transcription data set by the user through operation of the transcription data specification field 153. The transcription unit preview field 154 is also a component that allows the user to edit the table data in step S1302 of the flowchart in Figure 12 described above. When the user operates the transcription unit preview field 154, the table navigation screen 380 in Figure 20 is displayed, and the user's table operations are accepted.

[0064] The transfer data specification field 153 includes a transfer unit specification field 153c as one form of the transfer unit specification section 23b. By operating the transfer unit specification field 153c, the user specifies the target to be transferred in a single data transfer to the transfer destination application. In other words, the transfer unit specification field 153c corresponds to step S1303 in the flowchart of FIG. 12. The transfer unit from the table data specified in the table data specification field 153b can be selected from "row by row," "entire table," and "grouping." If "row by row" is selected, the table data for the variable name selected in the table data selection field 153b is transferred line by line in a single transfer. If "entire table" is selected, the entire table data is transferred in a single transfer. Furthermore, if "grouping" is selected, data from rows with the same column value in the table data is entered. For this reason, "grouping" allows the selection of column items in the table data for the variable name selected in the table data selection field 153b. 13, the column item "Date" is displayed along with the option "Grouping." In this case, in one transcription, data with the same value in the column named "Date" among the table data of the variable name selected in the table data selection field 153b is transcribed. (Operation decision column 156)

[0065] Furthermore, in the transcription detail specification field 152 in Fig. 13, an operation determination field 156 is provided below the transcription unit specification field 153. The operation determination field 156 is a component that allows the user to specify a form as a data transcription destination in step S1304 of the flowchart in Fig. 12 described above.

[0066] The operation determination field 156 is displayed when automation target software GS is specified as the transfer destination application. The user initiates operation recording from the operation determination field 156 using the operation record setting unit 48 to specify a form in the automation target software GS. The operation determination field 156 shown in FIG. 13 is a component for determining operations that will not be repeated during execution of the automation program. However, a separate operation determination field for determining operations that will be repeated may also be provided. In this case, it is preferable that the operation determination field for determining operations that will not be repeated and the operation determination field for determining operations that will be repeated are displayed on the same screen. Here, "displayed on the same screen" includes a layout in which the two operation determination fields can be displayed by scrolling. This allows the user to set both operations that will be repeated and operations that will not be repeated from the same screen, making it easy to create automation programs for tasks that involve a mixture of repeated and non-repeated operations. (Operation Record Screen 160)

[0067] FIG. 14 illustrates a display screen including screen information displayed by the function of the operation record setting unit 48. The operation record screen 160 shown in FIG. 14 displays an "Expense Settlement" form GS1 displayed by an expense settlement application, which is the automation target software GS. The operation record setting unit 48 displays a semi-transparent window TW in front of the screen information generated by the automation target software GS. The semi-transparent window TW may be transparent as long as it is transparent enough to allow the screen information overlapping the semi-transparent window TW and positioned behind the semi-transparent window TW to be visible. Displaying a semi-transparent window allows the user to recognize that some screen information is being displayed over the screen information generated by the automation target software GS, so it is preferable that the semi-transparent window TW is not transparent enough to be visible to the user. Note that in FIG. 14, the frame of the semi-transparent window TW is inside the frame of FIG. 14 to clearly show the semi-transparent window TW on the diagram, but in reality, it is displayed on the entire screen.

[0068] The user performs an operation on the operation record screen 160 to specify the form to which the data will be transferred. The operation record setting unit 48 receives the user's operation of specifying a specific form included in form GS1 through the semi-transparent window TW, and identifies the form in form GS1 specified by the user. This allows the transfer destination setting unit to identify the form into which the data will be written in the transfer destination application. In the example of Figure 14, the form with the description "Applicant" is selected from the "Expense Reimbursement" form GS1 of the software to be automated. To make the operation easier to understand, the position of the mouse cursor CC is represented by a circle.

[0069] After the form into which the data is to be written is specified, the operation record setting unit 48 displays screen information that allows the user to select the data to be written into the form based on the table data called from the memory unit 15 by the transcription designation unit 23. When the table data is edited by the table operation unit 23c, the screen information may be displayed based on the edited table data. Alternatively, the screen information may be displayed based on the unit designated by the transcription unit designation unit 23b.

[0070] The user selects the data to be written into the form from the options for data to be written displayed by the operation record setting unit 48. The operation record setting unit 48 accepts the user's selection and associates the identified form with the data to be written into the form. As a result, the transcription destination designation unit 23a designates the form in the transcription destination application into which the data is to be written and the data to be written into the form.

[0071] The operation record setting unit 48 writes the data selected by the user into the specified form. By executing the automation target software immediately after selecting an operation via the operation record screen, the user can check whether the selected data is written into the specified form without any errors, which also makes debugging easier.

[0072] As shown in FIG. 8, the automation program creation unit proceeds to step S907 to determine whether there are any operation record procedures for which details have not been set. The operation record procedures for which the presence or absence is determined are not the operation record procedures included in the setting of the acquisition range of the transcription source application in step S904 or the transcription setting to the transcription destination application in step S906, but are procedures set as procedures corresponding to user operations performed before and after the procedure for transcribing data during transcription work. If it is determined in step S907 that there are any unset operation record procedures, the process proceeds to step S908 to execute operation record setting. In step S908, a semi-transparent window TW is displayed by the function of the operation record setting unit 48, and user operations performed on the semi-transparent window TW are recorded. After recording of the user operations in step S908 is completed, the process proceeds to step S909 to generate screen information indicating the contents of the automation program based on the contents set in at least one of steps S901, S904, S906, and S908. If it is determined in step S907 that there are no unset operation record procedures, the process proceeds to step S908, where screen information showing the contents of the automation program is generated based on the contents set in at least one of steps S901, S904, and S906. (Activity list screen 220)

[0073] FIG. 15 shows an activity list screen 220 displayed in step S909, which shows the contents of the automation program to be created. On the activity list screen 220, the created procedures are displayed, grouped into outline procedure units set in step S901. The activity list screen 220 has an outline activity display field 221 on the left side of the screen. In the outline activity display field 221, the created activities are displayed, grouped into outline activity units. On the activity list screen 220 in FIG. 15, variables are displayed in orange. In this embodiment, the table data itself is treated as a variable in the generated automation program, and therefore the name given to the table data itself is treated as a variable name. Furthermore, each column item included in the table data is also treated as a variable name because it is referenced during transcription.

[0074] The activity list screen 220 in FIG. 15 shows a state in which detailed settings for importing various data and settings for transcription operations have been completed. The section of the diagram labeled "Record operations and perform input / output" is the general activity heading section 222, which displays the general activity corresponding to the flow. A general activity detail display area 225 is provided below the general activity heading section 222. The general activity detail display area 225 displays "Launch app," "Repeat table," and "Exit app," listing the specific operations, i.e., activities, that make up the general activity "Record operations and perform input / output." The general activity unit upon completion of various settings corresponds to the general procedure created in FIG. 9. Here, within the general activity heading section 222, "Record operations and perform input / output" is displayed as a general name 223, which is manually entered by the user, while the general label 224 to the right of it, labeled "Enter expense list," is automatically generated.

[0075] 8, after displaying the activity list screen 220 in step S909, the automation program creation unit creates an automation program in step S910. The automation program is generated based on the content set in at least one of steps S901, S904, S906, and S908. [Embodiment 3] (Operation Record Screen 280)

[0076] 16 shows an operation record screen 280 when the form of the transcription destination application specified by the user through the function of the transcription destination specification unit 23a is a table UI displayed in a table format. Note that in this figure, the semi-transparent window is not displayed for the sake of explanation.

[0077] When the operation record screen 280 in FIG. 16 detects that the user has selected a table UI with the mouse, a table data transfer details setting window 301 is displayed, as shown in the operation record screen 300 in FIG. 17, for setting details for transferring table data to the table UI. The table data transfer details setting window 301 includes a table input position specification field 302 and a table selection field 303. First, to specify the table UI to output, the user is prompted to select the upper left cell of the table in the table input position specification field 302. After the user's selection is detected and the upper left cell of the table UI is specified, the operation of selecting the upper left cell of the table UI is reflected in the table UI. In FIG. 18, the daily report management application, which is the automation target software GS, displays the selected cell in the table UI in a blue frame. Furthermore, the table input position specification field 302 displays "Selected," indicating that the selection of the upper left cell of the table is complete.

[0078] Next, select a table. In the Table Data Transfer Advanced Settings window 301 in Figure 18, the table selection field 303 has a table movement direction specification field 304, a row insertion specification field 305, a row deletion specification field 306, and a "Try moving the table" button 307. Pressing the "Try moving the table" button 307 allows you to check whether the table UI has been selected correctly. In this check, the RPA software accepts a user operation using the corresponding keyboard key, such as "Right: →", and you can check whether the selected area moves in the table UI when you operate the keyboard.

[0079] The table displayed in the RPA software corresponds to the table UI of the target software, i.e., the table UI of the daily report management app that is the transfer destination application. As an example, when transferring data to the second column from the left of the table UI, the operation record screen 320 in Figure 19 shows the state in which the data to be transferred to this column is selected. This operation record screen 320 allows you to see how each column in the table UI of the target software GS corresponds to each column of the table data imported for RPA program creation in the RPA software, as well as the appearance of the setting screen at that time. In the figure, the horizontal bar L1 indicates that the table UI of the target software GS is reflected in the setting screen of the RPA software RS. Below that, the column name options 321 display the names of the column items in the imported table data as options. The column name options 321 allow you to select the column name corresponding to the table data to be transferred to the target software GS when the RPA software RS is executed. For example, if you select and set "Item" from the column name options 321 displayed in the pull-down menu of the second column from the left of L1, when you run the RPA software RS, "Item" from the imported table data will be transcribed into the second column from the left of the automation target software GS. By setting it in this way, the data in the table data that will be written to a specific column in the table UI displayed in the automation target software GS is specified. (Table operation)

[0080] Next, we will explain in detail how to edit table data using the table operation unit 23c. The function of editing table data stored in the memory unit 15 is called "table navigation." For example, on the general transcription detailed setting screen 150 in Figure 13, table operations can be called up to edit table data.

[0081] 20, it is also possible to select and execute the type of table operation that corresponds to the desired table operation. The table data after the operation is executed is stored in memory unit 15. At this time, the table data stored in memory unit 15 may be given a name specified by the user and stored in memory unit 15, or may be given a name that can be distinguished from table data already stored in memory unit 15 and stored in memory unit 15.

[0082] Furthermore, when multiple pieces of table data are stored in memory unit 15 and multiple pieces of table data are selected in the table data selection in step S1301 in the flow shown in Fig. 12, it is also possible to combine the multiple pieces of table data or extract the differences between the multiple pieces of table data. Fig. 21 is another example of Fig. 20. For example, on table operation screen 390 in Fig. 21, when an expense list such as that in Fig. 22A is generated as Table 1, selecting "narrow table by conditions" generates an activity "narrow Table 1 by conditions."

[0083] For example, if you create a scenario in which expenses over 1,000 yen are only submitted for application, you can narrow down the expense list in Figure 22A by setting "Filter expense list by amount > 1,000," and a table like the one in Figure 22B will be generated. The newly generated table in this way can also be used as a variable. For example, if you name the table in Figure 22B "List of expenses subject to application," you can use this table in other activities.

[0084] This function can also be used to specify branching. For example, with normal branching, the user must identify the location in the code where branching should occur (in this case, "Amount > 1000"), which is a time-consuming process. In contrast, this function allows the data to be treated as a single table, so by using it in conjunction with the loop process in the creation navigation, it is possible to perform branching operations without having to insert the branching process yourself. (Table operation function)

[0085] In addition, various operations can be performed on multiple tables, such as joining, stacking, extracting differences, extracting common parts, narrowing down tables, adding columns, and deleting columns. These table operation functions are executed by the table operation unit 23c in Fig. 3. As an example of the table operation function, a table joining function for joining multiple tables will be described below with reference to Figs. 23 and 24. (Table join function)

[0086] The table join function allows you to join multiple tables using a specific column name. For example, if you have two tables as shown in Figure 23, you can join them using a specific column name, in this case "Customer Code," to generate the table shown in Figure 24.

[0087] In this way, by combining table data, it is possible to generate an automated program for the transcription work that treats data in table data stored as separate table data as associated data. In the example of Figure 23, table data containing "customer name" and table data containing "email address" are stored as separate table data. The table merging function generates an automated program for the transcription work that transcribes "customer name" and "email address" related to that "customer name" into multiple forms on the same screen. (Table stacking function)

[0088] The table stacking function also allows multiple tables that specify the same items to be linked in the column direction. For example, as shown in Figure 25, two tables that have common items (here, three items: "Customer Name," "Customer Code," and "Status") can be combined into a single table as shown in Figure 26 by using the table stacking function. Note that, as shown in Figure 23 above, if the table stacking function is used on tables that have uncommon items, the cells for the non-existent items will be blank, as shown in Figure 27.

[0089] In this way, by stacking table data vertically, it is possible to generate an automated program for transcription work that treats the same type of data stored in separate table data as data stored in the same table data. In the example of Figure 25, the two tables all have the same column items, so the data in each row is the same type of data. Because the table stacking function treats the data as a single table data as shown in Figure 26, by specifying transcription for the table data using the transcription specification unit 23, an automated program for transcription work that performs the same transcription for multiple table data is generated. (Differential extraction function)

[0090] Next, we will explain the differential extraction function, which extracts the differences between multiple tables. The differential extraction function retains rows in a specific column of one table that do not exist in a specific column of the other tables. For example, consider the two tables shown in Figure 28, where the field names for customer name, customer code, and status are recorded in Table 1 on the left, and customer code and email address are recorded in Table 2 on the right. To extract only those customers for which there are no email addresses, use the differential extraction function. Here, rows for which there is no customer code in Table 2, a specific column in Table 1, are extracted from Table 1. As a result, a table is created, as shown in Figure 29, listing pseudonymous banks for which there are no customer codes in Table 2 and no email addresses.

[0091] In this way, by extracting differences from multiple data tables, it is possible to generate an automated program for the transcription process, which transcribes the data resulting from narrowing down data from one data table to another data table based on a condition. In the example of Figure 28, the table on the left is narrowed down based on the table on the right. This makes it possible to generate an automated program for transcribing data from the data table on the left that does not have a corresponding "customer code" in the data table on the right. (Common part extraction function)

[0092] Next, we will explain the common part extraction function, which extracts common parts of tables. With the common part extraction function, for multiple tables, only rows in a specific column of one table that exist in a specific column of another table are retained. For example, consider an example where only customers with email addresses are extracted from the table shown in Figure 28 above. Here, from the customer code, which is a specific column in Table 1, rows where the customer code in Table 2 exists are extracted from Table 1. As a result, a table is created, as shown in Figure 30, that lists pseudonymous manufacturing companies whose customer codes exist in Table 2 and whose email addresses exist.

[0093] In this way, by extracting common parts from multiple table data, similar to the differential extraction function, it is possible to generate an automated program for the transcription process that transcribes the data resulting from narrowing down data from one table data to another table data based on a condition. In the example of Figure 28, the table on the left is narrowed down based on the condition of the table on the right. This makes it possible to generate an automated program that transcribes data from the table data on the left that has a "customer code" that corresponds to the data in the table data on the right.

[0094] In the examples of Figures 23, 25, and 28 mentioned above, two tables are arranged horizontally, i.e., in the row direction, but it goes without saying that this is not limited to this, and that table operation functions such as the table join function, table vertical stacking function, and differential extraction function can be executed on multiple tables arranged in any position, such as vertically or diagonally. (Table filtering function)

[0095] The table filtering feature allows you to filter by a specific column. You can also enter conditions for multiple columns. (Column Addition Function)

[0096] The Add Column feature allows you to add columns to a spreadsheet, including formulas. (Column deletion function)

[0097] The column deletion function is a function for deleting unnecessary columns.

[0098] The various operations performed on columns in the table data described above can also be performed on rows, and conversely, operations performed on rows can be replaced with operations performed on columns. [Embodiment 4: Web scraping] (Web Import Advanced Settings)

[0099] After the element data to be acquired from the Web browser WB is specified, acquisition range specification unit 22 displays Web data acquisition setting screen 540. The Web data acquisition setting screen allows the user to select whether or not to acquire element data at the same level as the element data specified by the user. When acquiring element data at the same level, the screen also accepts a setting as to whether the element data at the same level should be arranged in the same column or row. Based on these settings, the data acquired from the Web browser WB is stored in memory unit 15 as table data.

[0100] Figure 32 shows a screen displayed when the user selects to acquire element data at the same hierarchical level as the element data specified by the user in Figure 33. When the user selects to acquire element data at the same hierarchical level, the acquisition range designation unit 22 creates a search expression that can extract element data at the same hierarchical level based on the path of the element data specified by the user. In Figure 32, the element data that corresponds to the path extracted by the search expression is highlighted.

[0101] 36 is a flowchart executed by the acquisition range setting unit when the acquisition range is set by the acquisition range setting unit in step S904 of FIG. 8 when the Web browser WB is specified as the transcription source application. Note that this flowchart shows a flowchart executed by the acquisition range setting unit from a state in which the page from which data is to be acquired is displayed in the Web browser WB. The launching of the Web browser WB and the display of the page from which data is to be acquired may be separately set by the operation record setting unit 48.

[0102] In step S5701, the acquisition range setting unit accepts designation of element data to be displayed on the Web browser WB. In step S5702, the acquisition range setting unit acquires the path of the element data designated by the user on the Web browser WB via an extension function of the Web browser WB. In step S5703, the acquisition range setting unit highlights the element data corresponding to the acquired path based on the path. Figure 31 shows the state in which the element data designated by the user is highlighted in step S5703. The user can identify the element data they designated.

[0103] In step S5704, the acquisition range setting unit determines whether to acquire element data at the same level as the element data specified by the user in step S5701. If element data at the same level as the element data specified by the user is to be acquired, in step S5705, a search expression using Xpath for acquiring element data at the same level as the element data specified by the user in step S5701 is generated based on the path acquired in step S5702. In this embodiment, the search expression generated in step S5705 is based on the path acquired in step S5702, but the search expression may be generated based on multiple paths. For example, the search expression may be generated based on the paths of multiple element data, accepting designation of element data that the user recognizes as element data at the same level as the element data specified in step S5701. In this case, the accuracy of generating a search expression that can extract element data at the same level as the user's intention is improved. FIG. 32 shows the element data extracted by the search expression generated in step S5705 highlighted. If it is determined in step S5704 that element data at the same layer as the element data specified by the user is not to be acquired, the process proceeds to step S5708, where setting of the data acquisition range from the Web browser WB is completed.

[0104] After step S5705 is completed, the acquisition range setting unit accepts, in step S5706, a selection of the arrangement direction of element data at the same level. The arrangement direction of element data selected in step S5706 determines whether element data at the same level are arranged in the same column or row when data acquired from the Web browser WB is stored as table data in memory unit 15. FIG. 34 shows the format of table data stored in memory unit 15 when element data at the same level are set to be arranged in the same column in step S5706. After the selection in step S5706 is completed, the acquisition range setting unit accepts, in step S5707, the addition of data to be acquired. The data specified in step S5707 is arranged according to the arrangement selected in step S5706 when stored as table data in memory unit 15. For example, if element data at the same level are selected to be arranged in the same column in step S5706, the data specified in step S5707 is acquired as data to be arranged in a new column. 35 shows the form of table data held in memory unit 15 when element data at the same layer is set to be arranged in the same column in step S5706 and two types of data are added in step S5707. Depending on the settings in each step, the form of table data shown in FIGS. 34 and 35 may be displayed as a preview of the data to be acquired.

[0105] After the data addition in step S5707 is completed, the process proceeds to step S5708, where the setting of the data acquisition range from the Web browser WB is completed.

[0106] As described above, according to the present invention in each embodiment, the user is guided to acquire data groups that can be acquired as table data as table data, thereby facilitating the creation of automation programs. In particular, if the software to be automated is a spreadsheet software such as Excel, automatic recognition and table range setting can be performed. Furthermore, if the software to be automated is a web browser, the repetition direction during web scraping can be easily set. Furthermore, if the software to be automated is another general-purpose program, selecting "data acquisition" as the operation content displays a screen that allows variable names to be set, allowing table data to be named and referenced, providing the advantage of facilitating the creation of automation programs. [Industrial Applicability]

[0107] The automation program creation device, automation program creation method, automation program creation program, and computer-readable recording medium and device on which it is recorded of the present invention can be suitably used in RPA software that supports the creation of automation programs that automate operations on spreadsheet software such as Excel, web browsers, and other software to be automated. [Explanation of symbols]

[0108] 11...Display section 12...input section; 12a...keyboard; 12b...mouse; 12c...touchpad 13...Bus 14…Communications Department 15...Memory section 16...Storage section 20...Processor section 21...Outline Procedure Creation Department 22... Acquisition range specification section 23...Transfer designation section; 23a...Transfer destination designation section; 23b...Transfer unit designation section; 23c...Table operation section; 23d...Transfer data preview section 24...Transfer unit preview section 25...Automation program generation unit 26...Automation program execution unit 31...Repeat setting section 35...Automatic table recognition execution unit 48...Operation record setting section 110...Outline procedure creation screen 111...Outline procedure icon 112...List of operation candidates 113..."Add" button 114...Operation selection list 115..."Repeat specified range" button 117...Next button 118... "Discard and return" button 119...Repeat setting icon 121...Activity display column 123... "Extract with automatic table recognition" button 124... "Specify the range of a spreadsheet" 125..."Extract using record function" button 130...Spreadsheet software acquisition range specification screen 132...Spreadsheet import details specification field 138...Next button 150...General posting detailed setting screen 152...Transfer details specification field 153...Transfer data specification field; 153b...Table data selection field; 153c...Transfer unit selection field; 154...Transfer unit preview column 155...Table data reference specification field 156...Operation decision field 186…“Application ID” field 202..."Specify individual cells to export" field 208...Next button 220...Activity list screen 221...Summary activity display column 222...Outline activity headline section 223…Short name 224...Outline label 225...Outline activity details display area 231..."File Selection" button 232..."Select folder" button 234..."Auto Extract" button 235...Preview button 236..."Manual Extraction" button 237..."Settings" button 280...Operation record screen 300...Operation record screen 301...Table Data Transfer Advanced Settings Window 302...Table input position specification field 303...Table selection column 304…Table movement direction specification field 305...Line insertion specification field 306...Line deletion specification field 307... "Try moving the table" button 310...Operation record screen 320...Operation record screen 321...Column name options 358..."OK" button 380...Table navigation screen 390…Table operation screen 513..."Open Web Page" setting field; 513b..."Settings" button 514... "Selection of extraction target" field: 514b... "Settings" button 515... "Repeat Settings" field; 515b... "Settings" button 516..."Output Settings" field; 516b..."Settings" button 540... Output detail setting screen SS: Spreadsheet software WB: Web browser GS...software to be automated; GS1...expense settlement application "expense settlement" form RS…RPA software PC...computer TW...Translucent window L1: Area corresponding to the table UI CC: Mouse cursor

Claims

1. 1. A method for generating an automation program for automating an operation of transcribing data acquired from a first application as a transcription source to a second application as a transcription destination, comprising: a step of selecting the first application and the second application from a plurality of applications having different processing contents, and creating a general procedure in a general procedure creation unit; selecting, by an acquisition range designation unit, a range to be acquired from the data of the first application selected by the outline procedure creation unit; storing the data in the range set by the acquisition range designation unit as table data in a memory unit; specifying a destination to which data based on the table data of the second application selected by the outline procedure creation unit is to be transcribed; generating an automation program based on the outline procedure created by the outline procedure creation unit, the range set by the acquisition range designation unit, and the transcription destination; An automation program creation method including:

2. 2. The automated programming method according to claim 1, The step of creating the outline procedure includes: obtaining the data from the first application; An automation program creation method including an operation of transcribing the data to the second application.

3. 3. The automated program creation method according to claim 2, further comprising: An automation program creation method including a step of setting the data transcription unit to be transcribed to the second application in a transcription unit designation section.

4. 4. The automated program creation method according to claim 3, further comprising: An automation program creation method including a step of displaying in a transfer data preview unit the transfer data to be transferred to the second application selected in the outline procedure creation unit based on the data transfer unit set in the transfer unit designation unit.

5. The automation program creation method according to any one of claims 1 to 4, An automation program creation method, wherein the step of selecting a range to be acquired by the acquisition range designation unit includes the step of selecting a plurality of data files of the first application.

6. The automation program creation method according to any one of claims 1 to 5, After the table data is stored in the memory unit and loaded, an operation on the table data in the memory unit is accepted; An automation program creation method for generating an automation program that transcribes data that has been processed corresponding to an operation on the table data into the acquired data.

7. 7. The automated programming method according to claim 6, The operation on the table data in the memory unit is a filter setting, An automation program creation method for creating an automation program that references values ​​that match the set filter conditions and performs transcription.

8. 8. The automation program creation method according to claim 6 or 7, the operation on the table data in the memory unit is a horizontal join that joins the first table data and the second table data based on a column heading common to the table data, An automation program creation method for creating an automation program that associates and transcribes data contained in the first table data and data contained in the second table data based on the common column headings.

9. 8. The automation program creation method according to claim 6 or 7, An automation program creation method, wherein the operation on the table data in the memory unit is a vertical join that joins multiple table data to table data having all column items of the multiple table data.

10. 10. The automated programming method according to claim 9, further comprising: An automation program creation method in which the operation on the table data in the memory unit is extraction of differences between the plurality of table data.

11. 10. The automated programming method according to claim 9, further comprising: An automation program creation method in which the operation on the table data in the memory unit is to extract common items from the plurality of table data.

12. 5. The automated program creation method according to claim 4, An automation program creation method in which the step of displaying the transcribed data includes formatting the source data, which is data within the set range, into table data and displaying the formatted table data in the transcribed data preview section.

13. The automation program creation method according to any one of claims 1 to 12, further comprising: a step of assigning a name to the data of the first application selected by the outline procedure creation section and storing the data in the memory section as the table data;

14. 4. The automated program creation method according to claim 3, The automation program creation method allows the data transcription unit to be set by the transcription unit designation section to be selected from at least one of line by line, the entire data, and grouping.

15. 15. The automated programming method of claim 14, further comprising: displaying, in a transfer data preview unit, transfer data to be transferred to the second application selected by the outline procedure creation unit based on the data transfer unit set in the transfer unit designation unit; An automation program creation method in which the transcription data displayed in the transcription data preview section is displayed in tabular form, and a frame corresponding to the set data transcription unit is displayed superimposed on the tabular form.

16. The automation program creation method according to any one of claims 1 to 15, the first application is a web browser, A method for creating an automation program in which the range of data selected by the acquisition range designation unit is data of the same hierarchical level as the specific range of data designated in the html file.

17. The automation program creation method according to any one of claims 1 to 16, the first application is a web browser, An automation program creation method in which, when the range of data selected in the acquisition range designation unit is displayed across multiple pages, the data on the next page corresponds to the specific range of data specified in the HTML file.

18. An automation program creation program that generates an automation program that automates an operation of transcribing data to a second application that is a transcription destination, based on data acquired from a first application that is a transcription source, a function of selecting the first application and the second application and creating a general procedure in a general procedure creation unit; a function of selecting, by an acquisition range designation unit, a range to be acquired from the data of the first application selected by the outline procedure creation unit; a function of storing data in the range set by the acquisition range designation unit in a memory unit as table data in a tabular format; a function of specifying a destination to which data based on the table data of the second application selected by the outline procedure creation unit is to be transcribed; a function of generating an automation program based on the outline procedure created by the outline procedure creation unit, the range set by the acquisition range designation unit, and the transcription destination; An automation program that allows a computer to achieve the above.

19. A computer-readable recording medium or storage device storing the program according to claim 18.

20. An automation program creation device that automates an operation of transcribing data acquired from a first application that is a transcription source into a second application that is a transcription destination, a general procedure creation unit for allowing the user to select the first application and the second application and creating a general procedure; an acquisition range designation unit for selecting a range to be acquired from the data of the first application selected by the outline procedure creation unit; a memory unit that stores data in the range set by the acquisition range designation unit as table data in a table format; a transfer destination designation unit that designates a transfer destination to which data based on the table data of the second application selected by the outline procedure creation unit is to be transferred; an automation program generation unit that generates an automation program based on the outline procedure created by the outline procedure creation unit, the range set by the acquisition range designation unit, and the transcription destination designated by the transcription destination designation unit; An automated programming device comprising:

21. An automation program creation device that automates an operation of transcribing data acquired from a first application that is a transcription source into a second application that is a transcription destination, obtaining the data from the first application; A transcription operation of the data to the second application Let them choose, a range of data to be acquired from among the data included in an arbitrary data file of the selected first application is selected; Set a data transcription unit to be transcribed into the second application using the data in the set range as source data in a table format; displaying transcription data to be transcribed into the selected second application based on the set data transcription unit; Generate an automation program that transcribes the tabular source data of the selected first application within the set range into the selected second application based on the set data transcription unit. A processor unit; a memory unit that stores the set source data in table format as table data; An automated programming device comprising:

Citation Information

Patent Citations

  • Application creation support system

    JP2018014075A

  • Naming of robotic process automation activities based on automatically detected target labels

    JP2021064355A

  • Productivity plugin for integration with robotic process automation

    US20210129325A1

  • Process understanding for robotic process automation (RPA) using sequence extraction

    WO2021055674A1

  • Method for correcting scenario, management device, and program therefor

    JP2005339213A