ONLYOFFICE 매크로를 사용하여 스프레드시트 정리를 자동화하는 방법

스프레드시트 정리 작업은 반복적입니다. 내보낸 이름에 불필요한 공백이 포함되어 있고, 붙여넣은 텍스트에는 줄 바꿈 방지 공백이 있으며, 수식이나 ID는 전체 문자열 바꾸기로 인해 손상될 수 있습니다. ONLYOFFICE 매크로를 사용하면 숫자 값과 수식 셀은 그대로 두고 정의된 범위 내의 텍스트만 표준화할 수 있습니다. 아래 예제는 공백만 처리하며, 중복 제거, 날짜 변환, 빈 행 삭제는 별도의 규칙이 필요합니다.

본 문서는 2026년 10월 6일에 확인되었습니다. ONLYOFFICE 매크로는 Excel VBA가 아닌 Office JavaScript API를 사용하는 JavaScript를 사용합니다. 현재 편집기 문서에서는 보기 → 매크로 에서 매크로 작업 영역을 엽니다 . 도구 모음의 모양은 데스크톱 버전과 호스팅 버전에서 다를 수 있습니다.

이 매크로가 처리할 수 있는 청소 작업

이 예시는 앞뒤 공백이나 탭을 제거하고, 줄 바꿈 방지 공백을 일반 공백으로 바꾸며, 텍스트 내에서 반복되는 공백이나 탭을 하나로 합칩니다. 문자열이 아닌 수식과 값은 제외합니다. 이러한 제한적인 적용 범위는 반복 가져오기를 준비하는 동안 날짜, 금액 또는 계산된 셀이 변경될 가능성을 줄여줍니다.

데이터 문제샘플이 하는 일자동화하기 전에 검토하세요
앞뒤 공백 및 탭텍스트 셀에서 해당 항목을 제거합니다.일반적으로 이름이나 레이블에는 안전하지만, 공백이 중요한 필드는 확인하세요.
줄 바꿈 방지 공간일반 공백으로 바꿉니다.복사한 웹 텍스트에 유용하며, 출처 필드를 무작위로 확인할 수 있습니다.
반복되는 공백 또는 탭각 실행 결과를 한 칸으로 축소합니다.고정 폭 텍스트나 의도적인 들여쓰기에는 사용하지 마십시오.
수식, 숫자 및 부울그것들을 변화시키지 않고 그대로 둡니다.실행 후 수식 셀이 여전히 계산되는지 확인하십시오.
중복 행, 날짜, 빈 행그것들을 바꾸지는 않습니다비즈니스 규칙을 먼저 정의하십시오. 이는 단순히 외관상의 정리 작업이 아닙니다.

1. 사본을 준비하고 범위를 정의합니다.

셀을 변경하는 매크로를 실행하기 전에 스프레드시트의 작업 복사본을 저장하십시오. 정리할 워크시트와 데이터 행을 지정하십시오. 아래 코드에서 A2:D500예시 범위를 보여줍니다. 1행에는 머리글이 있고 A열부터 D열까지 데이터가 있다고 가정합니다. 이 주소를 사용자의 시트에 맞게 변경하십시오. 정리하려는 레코드를 포함하는 범위를 사용하고 메모, 수식 또는 관련 없는 열은 포함하지 마십시오.

ONLYOFFICE 스프레드시트 그리드로, 고객, 도시, 상태 열과 4개의 샘플 레코드가 포함되어 있습니다.
작은 워크시트는 제한된 샘플을 제공합니다. 헤더 행은 정리 범위 밖에 있어야 합니다.

첫 번째 테스트에서는 몇 개의 대표적인 레코드를 임시 시트에 복사하거나 파일을 복제한 후 범위를 줄여서 실행하세요(예: A2:D10). 일반 공백, 붙여넣은 텍스트, 빈 셀, 수식 등을 포함한 예제를 추가하여 매크로가 각 경우를 어떻게 처리하는지 확인할 수 있도록 하세요.

2. ONLYOFFICE 매크로 편집기를 엽니다.

ONLYOFFICE 스프레드시트 편집기에서 스프레드시트를 열고 보기 → 매크로를 선택합니다 . 매크로 창에서 새 매크로를 만들거나 새 모듈을 선택한 다음, 명확한 이름(예: 매크로 이름)을 지정합니다 CleanTextWhitespace. ONLYOFFICE 매크로 시작 가이드에서 이 진입점과 실행 제어에 대해 자세히 설명합니다.

ONLYOFFICE 스프레드시트 편집기에서 보기 탭이 선택되어 있고 리본 메뉴에 매크로 컨트롤이 표시된 상태입니다.
보기 리본에는 매크로 작업 영역을 여는 데 사용되는 매크로 컨트롤이 포함되어 있습니다.

편집기 설정에서 매크로가 비활성화된 경우 설정 → 고급 설정 → 매크로를 검토하세요 . ONLYOFFICE 문서에는 매크로를 비활성화하거나, 알림을 표시하거나, 활성화하는 옵션이 있습니다. 직접 만들지 않은 통합 문서의 경우, 특정 스크립트 하나만 실행하기 위해 모든 매크로를 전역적으로 활성화하지 마세요. 코드를 검토하고 조직의 정책을 준수하십시오.

3. 이 경계가 지정되고 수식을 인식하는 매크로를 붙여넣으세요.

매크로 편집기에 코드를 붙여넣으세요. A2:D500실행하기 전에 수정하세요. 여기에 사용된 범위 메서드는 워크시트의 GetRange 참조 , 범위의 GetCells 참조 , 그리고 GetFormula , GetValue , SetValue 의 API 페이지 에 설명되어 있습니다 .

(function () {
    var oSheet = Api.GetActiveSheet();
    var oRange = oSheet.GetRange("A2:D500");
    var nRows = oRange.GetRowsCount();
    var nCols = oRange.GetColumnsCount();

    for (var r = 1; r <= nRows; r++) {
        for (var c = 1; c <= nCols; c++) {
            var oCell = oRange.GetCells(r, c);
            var sFormula = oCell.GetFormula();

            // Do not replace formulas with their displayed results.
            if (sFormula) {
                continue;
            }

            var v = oCell.GetValue();

            // Restrict this cleanup to text constants.
            if (typeof v !== "string") {
                continue;
            }

            var sClean = v
                .replace(/\u00A0/g, " ")
                .replace(/[ \t]+/g, " ")
                .replace(/^[ \t]+|[ \t]+$/g, "");

            // SetValue treats strings beginning with "=" as formulas.
            if (sClean.charAt(0) === "=") {
                continue;
            }

            if (sClean !== v) {
                oCell.SetValue(sClean);
            }
        }
    }
})();
ONLYOFFICE 매크로 편집기는 지정된 범위를 선택하고 수식 및 셀 값을 읽는 JavaScript 코드를 표시합니다.
코드 창에는 정리 매크로에서 사용되는 범위 및 셀 읽기 메서드가 표시됩니다.

전달되는 행 및 열 카운터는 GetCells선택된 범위에 상대적입니다. API 예제에서는 셀에 접근하기 위해 번호가 매겨진 위치를 사용합니다. 매크로는 먼저 각 셀의 수식을 읽고 수식이 있는 셀은 건너뜁니다. 그런 다음 값을 읽고 실제로 변경되는 문자열만 편집합니다. 제거 후 등호 수식이 되는 문자열도 건너뜁니다. 왜냐하면 SetValue앞에 등호가 있으면 수식으로 해석될 수 있기 때문입니다.

공백 표현식은 의도적으로 줄 바꿈을 그대로 유지합니다. 대소문자, 구두점, 숫자 값 또는 날짜 일련 번호는 변경하지 않습니다. 소스에 여러 줄로 된 메모, 고정 너비 필드 또는 특수 공백이 포함된 식별자가 있는 경우, 광범위한 정규화를 적용하는 대신 해당 열을 별도로 테스트하고 정책을 조정하십시오.

4. 한 번 실행한 후 결과를 확인하십시오.

매크로 편집기에서 매크로를 실행하세요. 선택한 범위의 셀을 업데이트하므로 원본을 덮어쓰기 전에 작업 복사본에서 변경된 텍스트를 확인하세요. 범위의 첫 번째 행과 마지막 행을 포함하여 몇 개의 행을 원본과 비교하세요. 머리글이 변경되지 않았는지, 수식이 제대로 계산되는지, 날짜, 통화, ID와 같은 숫자 셀이 변경되지 않았는지 확인하세요.

청소 후 검토를 위해 고객, 도시 및 상태 열이 표시되는 ONLYOFFICE 스프레드시트 표입니다.
워크시트를 사용하여 대표적인 행들을 무작위로 검사하고 원본과 비교하십시오.

대규모 스프레드시트의 경우, 매크로 실행 전후에 의심스러운 공백을 필터링하거나 검색하여 행 수를 비교하십시오. 이 매크로는 행을 삭제하거나, 레코드를 중복 제거하거나, 날짜를 변환하거나, 빈칸을 채우지 않으므로 이러한 검사는 텍스트 값에 초점을 맞춰야 합니다. 감사 추적을 시각적으로 기록해야 하는 경우, 상태 메시지를 임의의 셀에 작성하는 대신 별도의 검토 열을 추가하거나 정리된 결과를 임시 시트에 복사하십시오.

별도의 결정이 필요한 일반적인 청소 규칙

  • 중복 기록: 중복을 정의하는 열을 결정하고 반복된 거래가 유효한지 여부를 판단한 후 행을 삭제하십시오. 이름이 동일하다고 해서 반드시 같은 사람이나 주문을 나타내는 것은 아닙니다.
  • 빈 셀과 빈 행: 빈 셀, 0, 그리고 "해당 없음"과 같은 텍스트 값은 각각 다른 의미를 가집니다. 데이터 규칙 없이 이러한 값들을 바꾸거나 삭제하지 마십시오.
  • 텍스트 형식으로 저장된 날짜 및 숫자: 먼저 예상 형식과 지역 설정을 선택하세요. 예시에서는 문자열 형식이 03/04/2026지역에 따라 모호할 수 있으므로 이러한 값을 변환하지 않습니다.
  • 선행 0: 식별자를 00127텍스트로 가져옵니다. 스프레드시트에 이미 숫자로 저장된 경우 텍스트를 제거해도 누락된 0을 복원할 수 없습니다.
  • 대소문자 정규화: 이메일 주소를 소문자로 바꾸거나 주 코드를 대문자로 바꾸는 것은 특정 필드에 도움이 될 수 있지만, 이름이나 제품 설명에 적용하면 의도한 대문자 표기가 깨질 수 있습니다.

반복 가능한 규칙을 정확하게 표현하고 복사본에서 테스트할 수 있는 경우 ONLYOFFICE 매크로를 사용하십시오. 이 매크로 시스템은 VBA가 아닌 JavaScript를 사용하며, 전역적으로 사용할 수 있는 것이 아니라 문서에 첨부됩니다. 또한 ONLYOFFICE 매크로 FAQ 에 설명된 대로 파일 시스템 및 네트워크에 직접 액세스할 수 없도록 제한됩니다 . 이러한 샌드박스 환경은 매크로가 편집기 외부에서 접근할 수 있는 범위를 제한하지만, 매크로는 여전히 통합 문서의 내용을 변경할 수 있으므로 실행하기 전에 코드를 검토하고 테스트하십시오.

반복적인 가져오기 작업의 경우, 스크립트를 관리되는 템플릿이나 문서 사본에 보관하고 다음과 같은 간단한 체크리스트를 활용하세요. 활성 시트 확인, 범위 주소 업데이트, 머리글 및 수식 제외, 사본에서 실행, 편집된 문자열 무작위 검사, 저장 또는 공유하기 전에 최종 통합 문서를 원본과 비교합니다.

댓글 남기기

LibreOffice Writer와 Microsoft Word의 페이지 번호 매기기 차이점 설명

LibreOffice Writer와 Microsoft Word의 페이지 번호 매기기 차이점 설명

Writer 페이지 스타일과 Word 섹션을 사용하여 페이지 번호, 표지, 로마 숫자, 다시 시작, 머리글자 또는 바닥글을 제어하는 ​​방법을 단계별 및 확인 방법을 통해 알아보세요.

LibreOffice에서 원격 측정 및 데이터 수집을 비활성화하는 방법

LibreOffice에서 원격 측정 및 데이터 수집을 비활성화하는 방법

LibreOffice 충돌 보고서, 온라인 업데이트 사용자 에이전트 데이터 및 선택적 자동 업데이트 확인을 비활성화하는 방법과 설정을 확인하는 방법을 알아보세요.

Docker Compose를 사용하여 ONLYOFFICE Docs Enterprise를 설치하는 방법

Docker Compose를 사용하여 ONLYOFFICE Docs Enterprise를 설치하는 방법

공식 Docker Compose 파일을 사용하여 ONLYOFFICE Docs Enterprise를 설치하고, JWT 및 영구 저장소를 구성하고, 라이선스를 추가하고, 서비스를 확인하십시오.

LibreOffice 찾기 및 바꾸기에서 정규 표현식을 사용하여 고급 편집하는 방법

LibreOffice 찾기 및 바꾸기에서 정규 표현식을 사용하여 고급 편집하는 방법

LibreOffice 찾기 및 바꾸기에서 정규 표현식을 사용하여 텍스트를 정리하고, 데이터를 캡처 및 재정렬하고, 범위를 제어하고, 더 안전한 대안을 선택하는 방법을 알아보세요.

ONLYOFFICE 매크로를 사용하여 스프레드시트 정리를 자동화하는 방법

ONLYOFFICE 매크로를 사용하여 스프레드시트 정리를 자동화하는 방법

스프레드시트 텍스트를 정리하고, 수식과 숫자는 유지하며, 통합 문서를 저장하기 전에 각 변경 사항을 검증하는 안전한 ONLYOFFICE JavaScript 매크로를 만드세요.

Collabora Online과 ONLYOFFICE 비교: 리소스 사용량 및 지연 시간 테스트

Collabora Online과 ONLYOFFICE 비교: 리소스 사용량 및 지연 시간 테스트

Collabora Online과 ONLYOFFICE Docs를 CPU, 메모리, 열기 시간, 공동 편집 지연 시간 및 저장 속도 측면에서 공식 사양 가이드 및 반복 가능한 테스트를 통해 비교해 보세요.

Collabora Online CODE Docker에 사용자 지정 글꼴을 추가하는 방법

Collabora Online CODE Docker에 사용자 지정 글꼴을 추가하는 방법

Docker 환경에서 Collabora Online CODE에 사용자 지정 글꼴을 추가하고, 바인드 마운트, 사용자 지정 이미지 및 원격 글꼴 구성을 비교한 다음 문서에서 글꼴이 제대로 표시되는지 확인합니다.

Collabora Online 글꼴 크기 드롭다운 메뉴가 제대로 표시되지 않는 문제 해결

Collabora Online 글꼴 크기 드롭다운 메뉴가 제대로 표시되지 않는 문제 해결

Collabora Online 글꼴 크기 드롭다운 메뉴가 잘리거나, 늘어나거나, 응답하지 않는 문제를 해결하세요. 페이지 확대/축소를 재설정하고, 수동으로 크기를 입력하고, CODE 버전 수정 사항을 확인하세요.

"LibreOffice에는 Java 런타임 환경(JRE)이 필요합니다" 오류 해결 방법

"LibreOffice에는 Java 런타임 환경(JRE)이 필요합니다" 오류 해결 방법

LibreOffice JRE 경고를 해결하려면 Java 기능이 필요한지 여부를 판단하고, 호환되는 런타임을 설치한 다음, 고급 옵션에서 해당 런타임을 선택하십시오.

ONLYOFFICE Docs를 사용자 지정 PHP 애플리케이션과 통합하는 방법

ONLYOFFICE Docs를 사용자 지정 PHP 애플리케이션과 통합하는 방법

ONLYOFFICE Docs를 보안 문서 URL, 서명된 편집기 구성, JavaScript API 및 저장 콜백을 사용하여 사용자 지정 PHP 앱에 연결합니다.