Word에서 드롭다운 목록을 만들거나 삽입하는 방법 가이드

드롭다운 목록은 Microsoft Word에서 가장 유용한 기능 중 하나입니다. 사용자의 입력을 미리 정의된 특정 선택 항목으로 제한하여 데이터 정확도를 높이고, 응답을 간소화하며, 더 깔끔한 사용자 경험을 제공합니다. 전문적인 양식이나 설문지를 작성할 때 Word에서 드롭다운 목록을 만드는 방법을 아는 것은 현대 문서 엔지니어링의 필수 기술입니다.

더 일반적으로 사용되는 Excel의 드롭다운 목록과 달리, Word의 구현 방식은 양식 작성 및 대화형 문서 디자인을 위해 특별히 제작되었습니다. 이 단계별 가이드에서는 Word에서 드롭다운 목록을 만드는 모든 신뢰할 수 있는 방법을 상세히 설명합니다.


Word의 드롭다운 목록이란 무엇인가요?

드롭다운 목록은 메뉴 형식으로 선택 항목을 표시하는 사용자 인터페이스 요소입니다. 사용자가 컨트롤을 클릭하면 미리 정의된 옵션 목록이 나타나며, 그중 하나를 선택하여 필드를 채울 수 있습니다.

이 컨트롤은 다음과 같은 상황에서 특히 유용합니다:

  • 양식 및 설문조사에서 응답 표준화
  • 선택 항목을 제한하여 데이터 입력 오류 방지
  • 입력을 제거하여 양식 작성 속도 향상
  • 분석을 위한 깔끔하고 일관된 데이터 수집

방법 1: 콘텐츠 컨트롤을 사용하여 드롭다운 목록 만들기

Word 2007부터 최신 Microsoft 365까지 제공되는 이 방법은 대화형 필드를 추가하기 위한 현대적이고 공식적으로 지원되는 방식입니다. Word의 콘텐츠 컨트롤은 유연하고 사용자 정의가 가능하며, 전체 문서를 잠그지 않고도 작동합니다.

1단계: 개발 도구 탭 활성화

Word의 드롭다운 상자는 기본적으로 숨겨져 있는 “개발 도구” 탭에 있습니다.

  • 파일 > 옵션”(Mac의 경우 “Word > 기본 설정”)을 클릭합니다.
  • Word 옵션” 창에서 “리본 사용자 지정”을 선택합니다.
  • 오른쪽 목록에서 “개발 도구” 옵션 옆의 확인란을 체크합니다.
  • 확인”을 클릭합니다. 이제 상단 리본에 개발 도구 탭이 나타납니다.

Word 옵션 대화 상자에서 개발 도구 탭 활성화

2단계: 드롭다운 콘텐츠 컨트롤 삽입

  • 드롭다운 목록을 표시할 위치에 커서를 둡니다.
  • “개발 도구” 탭으로 이동하여 “컨트롤” 그룹을 찾습니다.
  • 드롭다운 목록 콘텐츠 컨트롤” 아이콘(작은 화살표가 있는 목록 모양)을 클릭합니다.
  • 커서 위치에 기본 드롭다운 상자가 나타납니다.

개발 도구 탭의 드롭다운 목록 콘텐츠 컨트롤 아이콘

3단계: 목록 항목 추가 및 사용자 지정

  • 새로 만든 컨트롤을 선택하고 리본에서 “속성”을 클릭합니다.
  • 콘텐츠 컨트롤 속성” 대화 상자에서 일반 설정을 구성합니다:
    • 목록의 “제목” 입력(컨트롤 위에 레이블로 표시됨)
    • “태그” 입력(문서 자동화를 위한 내부 식별자)
    • 컨트롤의 “색” 구성표 선택
    • 실수로 삭제되는 것을 방지하려면 “콘텐츠 컨트롤을 삭제할 수 없음” 체크
  • 드롭다운 목록 속성” 섹션에서 “추가” 버튼을 클릭합니다.
  • 선택 항목 추가” 창의 “표시 이름” 필드에 옵션을 입력합니다(사용자가 목록에서 보게 될 내용입니다).
  • ” 필드는 동일한 텍스트로 자동 채워집니다. 필요한 경우 수정할 수 있습니다.
  • 드롭다운 목록에 포함할 각 옵션에 대해 이 과정을 반복합니다.
  • “수정”, “제거”, “위로 이동”, “아래로 이동” 버튼을 사용하여 목록을 다듬습니다.
  • 확인”을 클릭하여 설정을 저장합니다.

드롭다운 옵션을 구성하기 위한 콘텐츠 컨트롤 속성 대화 상자

4단계: Word에서 드롭다운 메뉴 테스트

컨트롤 오른쪽의 작은 화살표를 클릭하여 목록을 확장하고 항목을 선택합니다. 기본 자리 표시자 텍스트("항목 선택")가 선택한 항목으로 바뀝니다.

5가지 옵션이 표시되는 Word의 드롭다운 메뉴

전문가 팁: 기본 Microsoft Word 드롭다운 목록은 단일 선택만 지원합니다. 다중 선택이 필요한 경우 Word의 확인란 콘텐츠 컨트롤을 사용할 수 있습니다.


방법 2: 호환성을 위해 레거시 양식 필드 사용하기

문서가 Word 2003 이전 버전과 호환되어야 하거나 이전 .doc 형식으로 저장해야 하는 경우, 레거시 드롭다운 양식 필드를 사용하세요. 이 방식은 작동을 위해 문서 보호가 필요하며, 종료 매크로 및 필드 계산과 같은 양식 전용 기능을 지원합니다.

1단계: 레거시 드롭다운 삽입

  • “개발 도구” 탭에서 “레거시 도구” 버튼(도구 상자 모양)을 클릭합니다.
  • 레거시 양식” 아래에서 “드롭다운 양식 필드” 아이콘을 클릭합니다.
  • 커서 위치에 회색 양식 필드 상자가 나타납니다.

레거시 도구의 드롭다운 양식 필드 버튼

2단계: 드롭다운 옵션 구성

  • 회색 양식 필드를 더블 클릭하여 “드롭다운 양식 필드 옵션” 대화 상자를 엽니다.
  • 드롭다운 항목” 필드에 첫 번째 옵션을 입력합니다.
  • 추가 >>”를 클릭하여 “드롭다운 목록의 항목” 상자로 이동합니다.
  • 나머지 모든 옵션에 대해 반복합니다.
  • 화살표 버튼을 사용하여 항목 순서를 변경하거나 “제거”를 클릭하여 옵션을 삭제합니다.
  • 선택 사항: 접근성을 위해 책갈피 이름, 종료 매크로 또는 도움말 텍스트를 구성합니다.
  • 확인”을 클릭하여 저장합니다.

추가 버튼과 항목 목록이 있는 드롭다운 양식 필드 옵션 대화 상자

3단계: 문서 보호 (중요)

최신 콘텐츠 컨트롤과 달리, 레거시 양식 필드는 문서가 양식 채우기용으로 보호되지 않으면 작동하지 않습니다.

  • “개발 도구” 탭에서 “편집 제한”을 클릭합니다.
  • 오른쪽의 “편집 제한” 창에서:
    1. 문서에서 선택한 유형의 편집만 허용”을 체크합니다.
    2. 드롭다운에서 “양식 채우기”를 선택합니다.
  • 예, 보호 적용 시작”을 클릭합니다.
  • 암호를 입력하고(선택 사항) “확인”을 클릭합니다.
  • 이제 사용자는 드롭다운에서 선택할 수 있지만 문서의 나머지 부분은 편집할 수 없습니다.

레거시 드롭다운을 활성화하기 위해 양식 채우기로 편집 제한


방법 3: C#으로 프로그래밍 방식으로 드롭다운 목록 만들기

대규모로 Word 문서를 생성하거나 일괄 수정해야 하는 개발자를 위해, Free Spire.Doc for .NET은 Microsoft Office를 설치하지 않고도 Word에 드롭다운 메뉴를 삽입할 수 있는 프로그래밍 방식을 제공합니다.

1단계: Free Spire.Doc 설치

NuGet을 통해 .NET 프로젝트에 라이브러리를 추가할 수 있습니다:

  • NuGet GUI: “FreeSpire.Doc”을 검색하여 설치합니다.
  • 패키지 관리자 콘솔: PM> Install-Package FreeSpire.Doc 명령을 실행합니다.

또는 Free Spire.Doc for .NET 웹사이트에서 DLL을 수동으로 다운로드하여 참조로 추가합니다.

2단계: C# 코드를 작성하여 Word에 드롭다운 만들기

다음 코드는 새 Word 문서를 만들고, 사용자 지정 표시 이름과 기본 값이 포함된 레이블이 지정된 드롭다운 목록 콘텐츠 컨트롤을 추가한 후 출력 파일을 저장합니다:

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // 새 Word 문서 생성
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // 드롭다운 앞에 레이블 텍스트 추가
            TextRange label = paragraph.AppendText("부서: ");
            label.CharacterFormat.Bold = true;

            // 인라인 구조화된 문서 태그(드롭다운 콘텐츠 컨트롤) 생성
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "부서";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // 드롭다운 목록 항목 정의
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("마케팅", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("영업", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("인사", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("엔지니어링", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("재무", "FIN"));

            // 콘텐츠 컨트롤에 항목 할당
            sdt.SDTProperties.ControlProperties = dropDownList;

            // 기본 표시 텍스트 설정(첫 번째 항목)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // 문서 저장
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

주요 구성 요소 참조

구성 요소 용도
StructureDocumentTagInline 단락 내에 콘텐츠 컨트롤(SDT)을 생성합니다.
SdtType.DropDownList 컨트롤 유형을 드롭다운 목록으로 지정합니다.
SdtDropDownList 드롭다운 목록 항목의 전체 컬렉션을 저장합니다.
SdtListItem 목록의 단일 옵션(표시 텍스트 + 값)을 나타냅니다.
SDTContent.ChildObjects.Add() 문서가 열릴 때 표시되는 기본값을 설정합니다.

출력:

C# 및 Free Spire.Doc을 통해 Word 드롭다운 목록 생성

SdtType 열거형은 다양한 컨트롤을 지원합니다. 드롭다운 외에도 Word에 콤보 상자, 확인란, 날짜 선택기를 삽입할 수 있습니다.

대안: C#에서 레거시 드롭다운 양식 필드 만들기

이전 Word 형식과의 호환성이 필요한 경우 레거시 드롭다운 양식 필드를 만들 수도 있습니다:

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("마케팅");
legacyDropDown.DropDownItems.Add("영업");
legacyDropDown.DropDownItems.Add("인사");
legacyDropDown.DropDownItems.Add("엔지니어링");
legacyDropDown.DropDownItems.Add("재무");

// 양식 보호 활성화(레거시 필드가 작동하려면 필수)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

레거시 양식 필드는 앞서 설명한 수동 레거시 방법과 마찬가지로 작동하려면 문서 보호가 필요합니다.

C# 및 Free Spire.Doc을 통해 레거시 드롭다운 양식 필드 생성


자주 묻는 질문 (FAQ)

Q: 드롭다운 목록을 어떻게 제거하나요?

컨트롤을 선택하고 “Delete” 키를 누릅니다. 잠겨 있는 경우 먼저 “속성”을 열고 “콘텐츠 컨트롤을 삭제할 수 없음” 체크를 해제하세요.

Q: 드롭다운 목록이 작동하지 않는 이유는 무엇인가요?

  • 레거시 양식 필드의 경우: 문서가 양식 채우기용으로 보호되지 않았습니다. “개발 도구” > “편집 제한”으로 이동하여 양식 채우기 보호를 활성화하세요.
  • 콘텐츠 컨트롤의 경우: 컨트롤 편집이 잠겨 있거나, 최신 컨트롤을 비활성화하는 호환 모드일 수 있습니다.
  • 선택 화살표가 나타나지 않으면: 디자인 모드가 아닌지 확인하세요.

Q: 드롭다운 목록과 콤보 상자의 차이점은 무엇인가요?

드롭다운 목록은 사용자를 미리 정의된 옵션으로만 제한합니다. 콤보 상자는 목록에서 선택하는 것과 자유 텍스트 입력을 모두 허용합니다.

Q: 드롭다운 목록에 추가할 수 있는 최대 항목 수는 얼마인가요?

Word는 엄격한 하드 제한을 두지 않지만, 사용 편의성을 위해 목록을 20~30개 항목 미만으로 유지하는 것이 좋습니다. 목록이 너무 길면 사용자가 탐색하기 어렵습니다. 수십 개의 옵션이 필요한 경우 콤보 상자(입력하여 검색 지원)를 사용하거나 여러 필드에 걸쳐 선택 항목을 나누는 것을 고려하세요.


마치며

Word에서 드롭다운 목록을 만드는 방법을 익히면 정적인 문서를 데이터 품질을 개선하고 관리 업무를 줄여주는 동적이고 사용자 친화적인 양식으로 바꿀 수 있습니다. 대부분의 일상적인 사용 사례에서 최신 콘텐츠 컨트롤은 유연성, 외관 및 사용 편의성 사이에서 최상의 균형을 제공합니다. 하위 호환성이 중요한 경우 레거시 양식 필드가 여전히 신뢰할 수 있는 옵션입니다. 대량 또는 자동화된 문서 워크플로의 경우 .NET 라이브러리를 사용한 프로그래밍 방식 생성이 확장 가능한 서버 측 솔루션을 제공합니다.

어떤 방법을 선택하든 위의 단계를 따르면 조직 전체에서 안정적으로 작동하는 세련되고 기능적인 드롭다운 목록을 만들 수 있습니다.


참고 항목

Una guida per creare o inserire elenchi a discesa in Word

Gli elenchi a discesa sono una delle funzionalità più utili in Microsoft Word. Limitano l'input dell'utente a una serie specifica di scelte predefinite, il che migliora l'accuratezza dei dati, semplifica le risposte e offre un'esperienza utente più pulita. Che tu stia creando un modulo professionale o un questionario, sapere come creare un elenco a discesa in Word è una competenza essenziale per la moderna ingegneria documentale.

A differenza degli elenchi a discesa in Excel, che sono più comunemente utilizzati, l'implementazione di Word è appositamente progettata per la creazione di moduli e la progettazione di documenti interattivi. In questa guida passo dopo passo, analizziamo ogni metodo affidabile per creare un elenco a discesa in Word.


Cos'è un elenco a discesa in Word?

Un elenco a discesa è un elemento dell'interfaccia utente che visualizza un elenco di scelte in formato menu. Quando un utente fa clic sul controllo, appare un elenco di opzioni predefinite e può selezionarne una per popolare il campo.

Questo controllo è particolarmente utile negli scenari in cui si desidera:

  • Standardizzare le risposte in moduli e sondaggi
  • Prevenire errori di inserimento dati limitando le scelte
  • Velocizzare la compilazione dei moduli eliminando la digitazione
  • Raccogliere dati puliti e coerenti per l'analisi

Metodo 1: Creare un elenco a discesa utilizzando i controlli contenuto

Disponibile da Word 2007 fino all'ultimo Microsoft 365, questo è l'approccio moderno e ufficialmente supportato per aggiungere campi interattivi. I controlli contenuto in Word sono flessibili, personalizzabili e funzionano senza bloccare l'intero documento.

Passaggio 1: Abilitare la scheda Sviluppo

La casella a discesa in Word si trova nella scheda "Sviluppo", che è nascosta per impostazione predefinita per semplificare l'interfaccia utente standard.

  • Fai clic su "File > Opzioni" (o "Word > Preferenze" su Mac).
  • Nella finestra "Opzioni Word", scegli "Personalizzazione barra multifunzione".
  • Sul lato destro, seleziona la casella accanto all'opzione "Sviluppo".
  • Fai clic su "OK". La scheda Sviluppo apparirà ora nella barra multifunzione superiore.

Abilitare la scheda Sviluppo nella finestra di dialogo Opzioni Word

Passaggio 2: Inserire il controllo contenuto elenco a discesa

  • Posiziona il cursore dove vuoi che appaia l'elenco a discesa.
  • Vai alla scheda "Sviluppo" e individua il gruppo "Controlli".
  • Fai clic sull'icona "Controllo contenuto elenco a discesa" (sembra un elenco con una piccola freccia).
  • Una casella a discesa predefinita apparirà nella posizione del cursore.

Icona Controllo contenuto elenco a discesa nella scheda Sviluppo

Passaggio 3: Aggiungere e personalizzare le voci dell'elenco

  • Seleziona il controllo appena creato e fai clic su "Proprietà" nella barra multifunzione.
  • Nella finestra di dialogo "Proprietà controllo contenuto", configura le impostazioni generali:
    • Inserisci un "Titolo" per l'elenco (appare come etichetta sopra il controllo)
    • Inserisci un "Tag" (un identificatore interno per l'automazione dei documenti)
    • Scegli uno schema di "Colore" per il controllo
    • Seleziona "Impossibile eliminare il controllo contenuto" per evitare la rimozione accidentale
  • Nella sezione "Proprietà elenco a discesa", fai clic sul pulsante "Aggiungi".
  • Nella finestra "Aggiungi scelta", inserisci la tua opzione nel campo "Nome visualizzato" (questo è ciò che gli utenti vedranno nell'elenco).
  • Il campo "Valore" verrà popolato automaticamente con lo stesso testo. Puoi modificarlo se necessario.
  • Ripeti questo processo per ogni opzione che desideri includere nell'elenco a discesa.
  • Usa i pulsanti "Modifica", "Rimuovi", "Sposta su" e "Sposta giù" per perfezionare l'elenco.
  • Fai clic su "OK" per salvare le impostazioni.

Finestra di dialogo Proprietà controllo contenuto per configurare le opzioni a discesa

Passaggio 4: Testare il menu a discesa in Word

Fai clic sulla piccola freccia sul lato destro del controllo per espandere l'elenco e selezionare una voce. Il testo segnaposto predefinito ("Scegliere una voce.") verrà sostituito con la tua selezione.

Il menu a discesa aggiunto a Word che mostra cinque opzioni

Suggerimento: L'elenco a discesa nativo di Microsoft Word supporta solo la selezione singola. Per la selezione multipla, puoi utilizzare i controlli contenuto casella di controllo in Word.


Metodo 2: Utilizzare i campi modulo legacy per la compatibilità

Se il tuo documento deve funzionare con Word 2003 e versioni precedenti, o essere salvato nel vecchio formato .doc, utilizza i campi modulo a discesa legacy. Questo approccio richiede la protezione del documento per funzionare e supporta funzionalità specifiche del modulo come macro di uscita e calcoli dei campi.

Passaggio 1: Inserire l'elenco a discesa legacy

  • Dalla scheda "Sviluppo", fai clic sul pulsante "Strumenti legacy" (sembra una cassetta degli attrezzi).
  • Sotto "Moduli legacy", fai clic sull'icona "Campo modulo elenco a discesa".
  • Una casella grigia del campo modulo apparirà nella posizione del cursore.

Il pulsante Campo modulo elenco a discesa in Strumenti legacy

Passaggio 2: Configurare le opzioni dell'elenco a discesa

  • Fai doppio clic sul campo modulo grigio per aprire la finestra di dialogo "Opzioni campo modulo elenco a discesa"
  • Nel campo "Voce elenco a discesa", digita la tua prima opzione.
  • Fai clic su "Aggiungi >>" per spostarla nella casella "Voci nell'elenco a discesa".
  • Ripeti per tutte le opzioni rimanenti.
  • Usa i pulsanti freccia per riordinare le voci o fai clic su "Rimuovi" per eliminare un'opzione.
  • Opzionale: configura nomi di segnalibri, macro di uscita o testo della guida per l'accessibilità.
  • Fai clic su "OK" per salvare.

Finestra di dialogo Opzioni campo modulo elenco a discesa con pulsante Aggiungi ed elenco voci

Passaggio 3: Proteggere il documento (Cruciale)

A differenza dei moderni controlli contenuto, i campi modulo legacy non funzioneranno a meno che il documento non sia protetto per la compilazione dei moduli.

  • Fai clic su "Limita modifica" nella scheda "Sviluppo".
  • Nel riquadro "Limita modifica" a destra:
    1. Seleziona "Consenti solo questo tipo di modifiche nel documento"
    2. Seleziona "Compilazione moduli" dall'elenco a discesa
  • Fai clic su "Sì, applica protezione".
  • Inserisci una password (opzionale) e fai clic su "OK".
  • Gli utenti ora possono selezionare dagli elenchi a discesa ma non possono modificare il resto del documento.

Limita la modifica alla Compilazione moduli per attivare l'elenco a discesa legacy


Metodo 3: Creare un elenco a discesa a livello di programmazione in C#

Per gli sviluppatori che hanno bisogno di generare o modificare in batch documenti Word su larga scala, Free Spire.Doc per .NET offre un modo programmatico per inserire un menu a discesa in Word senza richiedere che Microsoft Office sia installato sulla macchina.

Passaggio 1: Installare Free Spire.Doc

Puoi aggiungere la libreria al tuo progetto .NET tramite NuGet:

  • GUI NuGet: Cerca "FreeSpire.Doc" e installa.
  • Console di gestione pacchetti: Esegui PM> Install-Package FreeSpire.Doc.

In alternativa, scarica manualmente la DLL dal sito web di Free Spire.Doc per .NET e aggiungila come riferimento.

Passaggio 2: Scrivere il codice C# per creare un elenco a discesa in Word

Il seguente codice crea un nuovo documento Word, aggiunge un controllo contenuto elenco a discesa etichettato con nomi visualizzati personalizzati e valori sottostanti, e salva il file di output:

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // Crea un nuovo documento Word
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // Aggiungi un testo etichetta prima dell'elenco a discesa
            TextRange label = paragraph.AppendText("Dipartimento: ");
            label.CharacterFormat.Bold = true;

            // Crea un tag documento strutturato inline (controllo contenuto elenco a discesa)
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "Dipartimento";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // Definisci le voci dell'elenco a discesa
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("Marketing", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("Vendite", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("Risorse Umane", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("Ingegneria", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("Finanza", "FIN"));

            // Assegna le voci al controllo contenuto
            sdt.SDTProperties.ControlProperties = dropDownList;

            // Imposta il testo visualizzato predefinito (prima voce)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // Salva il documento
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

Riferimento componenti chiave

Componente Scopo
StructureDocumentTagInline Crea un controllo contenuto (SDT) all'interno del paragrafo.
SdtType.DropDownList Specifica il tipo di controllo come elenco a discesa.
SdtDropDownList Memorizza l'intera raccolta di voci dell'elenco a discesa.
SdtListItem Rappresenta una singola opzione nell'elenco (Testo visualizzato + Valore).
SDTContent.ChildObjects.Add() Imposta il valore predefinito visualizzato all'apertura del documento.

Output:

Genera un elenco a discesa Word tramite C# e Free Spire.Doc

L'enumerazione SdtType supporta una gamma completa di controlli. Oltre agli elenchi a discesa, puoi anche inserire caselle combinate, caselle di controllo e selettori di data in Word.

Alternativa: Creare un campo modulo elenco a discesa legacy in C#

Se hai bisogno di compatibilità con i formati Word meno recenti, puoi anche creare un campo modulo elenco a discesa legacy:

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("Marketing");
legacyDropDown.DropDownItems.Add("Vendite");
legacyDropDown.DropDownItems.Add("Risorse Umane");
legacyDropDown.DropDownItems.Add("Ingegneria");
legacyDropDown.DropDownItems.Add("Finanza");

// Abilita la protezione del modulo (richiesta per il funzionamento dei campi legacy)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

Nota che i campi modulo legacy richiedono la protezione del documento per funzionare, proprio come il metodo legacy manuale trattato in precedenza.

Genera un campo modulo elenco a discesa legacy tramite C# e Free Spire.Doc


Domande frequenti (FAQ)

D: Come rimuovo un elenco a discesa?

Seleziona il controllo e premi il tasto "Elimina". Se è bloccato, apri "Proprietà" e deseleziona prima "Impossibile eliminare il controllo contenuto".

D: Perché il mio elenco a discesa non funziona?

  • Per i campi modulo legacy: Il documento non è protetto per la compilazione dei moduli. Vai su "Sviluppo" > "Limita modifica" e abilita la protezione per la compilazione dei moduli.
  • Per i controlli contenuto: Il controllo potrebbe essere bloccato per la modifica, o il documento è in una modalità di compatibilità che disabilita i controlli moderni.
  • Se la freccia di selezione non appare: Assicurati di non essere in Modalità progettazione.

D: Qual è la differenza tra un elenco a discesa e una casella combinata?

Un elenco a discesa limita gli utenti solo alle opzioni predefinite. Una casella combinata consente sia la selezione dall'elenco che l'inserimento di testo libero.

D: C'è un numero massimo di voci che posso aggiungere a un elenco a discesa?

Word non impone un limite rigido, ma per l'usabilità si consiglia di mantenere gli elenchi sotto le 20–30 voci. Gli elenchi molto lunghi diventano difficili da navigare per gli utenti. Se hai bisogno di decine di opzioni, prendi in considerazione l'utilizzo di una casella combinata (che supporta la digitazione per la ricerca) o la suddivisione delle scelte su più campi.


Considerazioni finali

Padroneggiare come creare un elenco a discesa in Word trasforma documenti statici in moduli dinamici e facili da usare che migliorano la qualità dei dati e riducono il lavoro amministrativo. Per la maggior parte dei casi d'uso quotidiani, i moderni controlli contenuto offrono il miglior equilibrio tra flessibilità, aspetto e facilità d'uso. Quando la compatibilità con le versioni precedenti è fondamentale, i campi modulo legacy rimangono un'opzione affidabile. Per flussi di lavoro documentali ad alto volume o automatizzati, la generazione programmatica con una libreria .NET fornisce una soluzione scalabile lato server.

Qualunque metodo tu scelga, seguire i passaggi precedenti ti aiuterà a creare elenchi a discesa rifiniti e funzionali che funzionano in modo affidabile in tutta la tua organizzazione.


Vedi anche

Un guide pour créer ou insérer des listes déroulantes dans Word

Les listes déroulantes sont l'une des fonctionnalités les plus utiles de Microsoft Word. Elles limitent la saisie de l'utilisateur à un ensemble spécifique de choix prédéfinis, ce qui améliore la précision des données, rationalise les réponses et offre une expérience utilisateur plus fluide. Que vous créiez un formulaire professionnel ou un questionnaire, savoir comment créer une liste déroulante dans Word est une compétence essentielle pour la conception de documents modernes.

Contrairement aux listes déroulantes dans Excel, qui sont plus couramment utilisées, l'implémentation de Word est spécifiquement conçue pour la création de formulaires et la conception de documents interactifs. Dans ce guide étape par étape, nous détaillons toutes les méthodes fiables pour créer une liste déroulante dans Word.


Qu'est-ce qu'une liste déroulante dans Word ?

Une liste déroulante est un élément d'interface utilisateur qui affiche une liste de choix sous forme de menu. Lorsqu'un utilisateur clique sur le contrôle, une liste d'options prédéfinies apparaît, et il peut en sélectionner une pour remplir le champ.

Ce contrôle est particulièrement utile dans les scénarios où vous souhaitez :

  • Standardiser les réponses dans les formulaires et les enquêtes
  • Prévenir les erreurs de saisie en limitant les choix
  • Accélérer le remplissage des formulaires en éliminant la saisie manuelle
  • Collecter des données propres et cohérentes pour l'analyse

Méthode 1 : Créer une liste déroulante à l'aide des contrôles de contenu

Disponible depuis Word 2007 jusqu'à la dernière version de Microsoft 365, il s'agit de l'approche moderne officiellement prise en charge pour ajouter des champs interactifs. Les contrôles de contenu dans Word sont flexibles, personnalisables et fonctionnent sans verrouiller l'intégralité du document.

Étape 1 : Activer l'onglet Développeur

La zone de liste déroulante dans Word se trouve sous l'onglet « Développeur », qui est masqué par défaut pour simplifier l'interface utilisateur standard.

  • Cliquez sur « Fichier > Options » (ou « Word > Préférences » sur Mac).
  • Dans la fenêtre « Options Word », choisissez « Personnaliser le ruban ».
  • Sur le côté droit, cochez la case à côté de l'option « Développeur ».
  • Cliquez sur « OK ». L'onglet Développeur apparaît désormais dans le ruban supérieur.

Activer l'onglet Développeur dans la boîte de dialogue Options Word

Étape 2 : Insérer le contrôle de contenu de liste déroulante

  • Placez votre curseur à l'endroit où vous souhaitez que la liste déroulante apparaisse.
  • Accédez à l'onglet « Développeur » et localisez le groupe « Contrôles ».
  • Cliquez sur l'icône « Contrôle de contenu de liste déroulante » (elle ressemble à une liste avec une petite flèche).
  • Une zone de liste déroulante par défaut apparaîtra à la position de votre curseur.

Icône de contrôle de contenu de liste déroulante dans l'onglet Développeur

Étape 3 : Ajouter et personnaliser les éléments de la liste

  • Sélectionnez le contrôle nouvellement créé et cliquez sur « Propriétés » dans le ruban.
  • Dans la boîte de dialogue « Propriétés du contrôle de contenu », configurez les paramètres généraux :
    • Saisissez un « Titre » pour votre liste (apparaît comme une étiquette au-dessus du contrôle)
    • Saisissez une « Balise » (un identifiant interne pour l'automatisation des documents)
    • Choisissez un schéma de « Couleur » pour le contrôle
    • Cochez « Le contrôle de contenu ne peut pas être supprimé » pour éviter toute suppression accidentelle
  • Sous la section « Propriétés de la liste déroulante », cliquez sur le bouton « Ajouter ».
  • Dans la fenêtre « Ajouter un choix », saisissez votre option dans le champ « Nom d'affichage » (c'est ce que les utilisateurs verront dans la liste).
  • Le champ « Valeur » sera automatiquement rempli avec le même texte. Vous pouvez le modifier si nécessaire.
  • Répétez ce processus pour chaque option que vous souhaitez inclure dans votre liste déroulante.
  • Utilisez les boutons « Modifier », « Supprimer », « Monter » et « Descendre » pour affiner votre liste.
  • Cliquez sur « OK » pour enregistrer vos paramètres.

Boîte de dialogue Propriétés du contrôle de contenu pour configurer les options de la liste déroulante

Étape 4 : Tester le menu déroulant dans Word

Cliquez sur la petite flèche sur le côté droit du contrôle pour développer la liste et sélectionner un élément. Le texte d'espace réservé par défaut (« Choisissez un élément. ») sera remplacé par votre sélection.

Le menu déroulant ajouté à Word affichant cinq options

Conseil d'expert : La liste déroulante native de Microsoft Word ne prend en charge que la sélection unique. Pour une sélection multiple, vous pouvez utiliser les contrôles de contenu de case à cocher dans Word.


Méthode 2 : Utiliser les champs de formulaire hérités pour la compatibilité

Si votre document doit fonctionner avec Word 2003 et versions antérieures, ou être enregistré dans l'ancien format .doc, utilisez les champs de formulaire de liste déroulante hérités. Cette approche nécessite la protection du document pour fonctionner et prend en charge des fonctionnalités spécifiques aux formulaires telles que les macros de sortie et les calculs de champs.

Étape 1 : Insérer la liste déroulante héritée

  • Depuis l'onglet « Développeur », cliquez sur le bouton « Outils hérités » (ressemble à une boîte à outils).
  • Sous « Formulaires hérités », cliquez sur l'icône « Champ de formulaire de liste déroulante ».
  • Une zone de champ de formulaire grise apparaît à la position de votre curseur.

Le bouton Champ de formulaire de liste déroulante dans les Outils hérités

Étape 2 : Configurer les options de la liste déroulante

  • Double-cliquez sur le champ de formulaire gris pour ouvrir la boîte de dialogue « Options de champ de formulaire de liste déroulante ».
  • Dans le champ « Élément de liste déroulante », tapez votre première option.
  • Cliquez sur « Ajouter >> » pour la déplacer dans la zone « Éléments de la liste déroulante ».
  • Répétez l'opération pour toutes les options restantes.
  • Utilisez les boutons fléchés pour réorganiser les éléments, ou cliquez sur « Supprimer » pour supprimer une option.
  • Optionnel : Configurez les noms de signets, les macros de sortie ou le texte d'aide pour l'accessibilité.
  • Cliquez sur « OK » pour enregistrer.

Boîte de dialogue Options de champ de formulaire de liste déroulante avec bouton Ajouter et liste d'éléments

Étape 3 : Protéger le document (Crucial)

Contrairement aux contrôles de contenu modernes, les champs de formulaire hérités ne fonctionneront pas à moins que le document ne soit protégé pour le remplissage de formulaires.

  • Cliquez sur « Restreindre la modification » dans l'onglet « Développeur ».
  • Dans le volet « Restreindre la modification » sur la droite :
    1. Cochez « Autoriser uniquement ce type de modification dans le document »
    2. Sélectionnez « Remplissage de formulaires » dans la liste déroulante
  • Cliquez sur « Oui, activer la protection ».
  • Saisissez un mot de passe (optionnel) et cliquez sur « OK ».
  • Les utilisateurs peuvent désormais effectuer des sélections dans les listes déroulantes mais ne peuvent pas modifier le reste du document.

Restreindre la modification au remplissage de formulaires pour activer la liste déroulante héritée


Méthode 3 : Créer une liste déroulante par programmation en C#

Pour les développeurs qui ont besoin de générer ou de modifier par lots des documents Word à grande échelle, Free Spire.Doc for .NET offre un moyen programmatique d'insérer un menu déroulant dans Word sans nécessiter l'installation de Microsoft Office sur la machine.

Étape 1 : Installer Free Spire.Doc

Vous pouvez ajouter la bibliothèque à votre projet .NET via NuGet :

  • Interface graphique NuGet : Recherchez « FreeSpire.Doc » et installez.
  • Console du gestionnaire de package : Exécutez PM> Install-Package FreeSpire.Doc.

Alternativement, téléchargez manuellement la DLL depuis le site Web de Free Spire.Doc for .NET et ajoutez-la en tant que référence.

Étape 2 : Écrire le code C# pour créer une liste déroulante dans Word

Le code suivant crée un nouveau document Word, ajoute un contrôle de contenu de liste déroulante étiqueté avec des noms d'affichage et des valeurs sous-jacentes personnalisés, et enregistre le fichier de sortie :

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // Créer un nouveau document Word
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // Ajouter un texte d'étiquette avant la liste déroulante
            TextRange label = paragraph.AppendText("Département : ");
            label.CharacterFormat.Bold = true;

            // Créer une balise de document structuré en ligne (contrôle de contenu de liste déroulante)
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "Département";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // Définir les éléments de la liste déroulante
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("Marketing", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("Ventes", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("Ressources Humaines", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("Ingénierie", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("Finance", "FIN"));

            // Assigner les éléments au contrôle de contenu
            sdt.SDTProperties.ControlProperties = dropDownList;

            // Définir le texte affiché par défaut (premier élément)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // Enregistrer le document
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

Référence des composants clés

Composant Objectif
StructureDocumentTagInline Crée un contrôle de contenu (SDT) à l'intérieur du paragraphe.
SdtType.DropDownList Spécifie le type de contrôle comme une liste déroulante.
SdtDropDownList Stocke la collection complète des éléments de la liste déroulante.
SdtListItem Représente une option unique dans la liste (Texte d'affichage + Valeur).
SDTContent.ChildObjects.Add() Définit la valeur par défaut affichée à l'ouverture du document.

Sortie :

Générer une liste déroulante Word via C# et Free Spire.Doc

L'énumération SdtType prend en charge une gamme complète de contrôles. Au-delà des listes déroulantes, vous pouvez également insérer des zones de liste modifiables, des cases à cocher et des sélecteurs de date dans Word.

Alternative : Créer un champ de formulaire de liste déroulante hérité en C#

Si vous avez besoin d'une compatibilité avec les anciens formats Word, vous pouvez également créer un champ de formulaire de liste déroulante hérité :

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("Marketing");
legacyDropDown.DropDownItems.Add("Ventes");
legacyDropDown.DropDownItems.Add("Ressources Humaines");
legacyDropDown.DropDownItems.Add("Ingénierie");
legacyDropDown.DropDownItems.Add("Finance");

// Activer la protection du formulaire (requis pour que les champs hérités fonctionnent)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

Notez que les champs de formulaire hérités nécessitent la protection du document pour fonctionner, tout comme la méthode héritée manuelle couverte précédemment.

Générer un champ de formulaire de liste déroulante hérité via C# et Free Spire.Doc


Foire aux questions (FAQ)

Q : Comment supprimer une liste déroulante ?

Sélectionnez le contrôle et appuyez sur la touche « Suppr ». S'il est verrouillé, ouvrez les « Propriétés » et décochez d'abord « Le contrôle de contenu ne peut pas être supprimé ».

Q : Pourquoi ma liste déroulante ne fonctionne-t-elle pas ?

  • Pour les champs de formulaire hérités : Le document n'est pas protégé pour le remplissage de formulaires. Allez dans « Développeur » > « Restreindre la modification » et activez la protection de remplissage de formulaires.
  • Pour les contrôles de contenu : Le contrôle peut être verrouillé pour la modification, ou le document est dans un mode de compatibilité qui désactive les contrôles modernes.
  • Si la flèche de sélection n'apparaît pas : Assurez-vous que vous n'êtes pas en mode Création.

Q : Quelle est la différence entre une liste déroulante et une zone de liste modifiable (combo box) ?

Une liste déroulante limite les utilisateurs à vos options prédéfinies uniquement. Une zone de liste modifiable permet à la fois la sélection dans la liste et la saisie de texte libre.

Q : Y a-t-il un nombre maximum d'éléments que je peux ajouter à une liste déroulante ?

Word n'impose pas de limite stricte, mais pour des raisons d'ergonomie, il est recommandé de limiter les listes à 20–30 éléments. Les listes très longues deviennent difficiles à parcourir pour les utilisateurs. Si vous avez besoin de dizaines d'options, envisagez d'utiliser une zone de liste modifiable (qui prend en charge la saisie pour rechercher) ou de répartir les choix sur plusieurs champs.


Réflexions finales

Maîtriser comment créer une liste déroulante dans Word transforme des documents statiques en formulaires dynamiques et conviviaux qui améliorent la qualité des données et réduisent le travail administratif. Pour la plupart des cas d'utilisation quotidiens, les contrôles de contenu modernes offrent le meilleur équilibre entre flexibilité, apparence et facilité d'utilisation. Lorsque la rétrocompatibilité est critique, les champs de formulaire hérités restent une option fiable. Pour les flux de travail documentaires à haut volume ou automatisés, la génération programmatique avec une bibliothèque .NET fournit une solution évolutive côté serveur.

Quelle que soit la méthode choisie, suivre les étapes ci-dessus vous aidera à créer des listes déroulantes soignées et fonctionnelles qui fonctionnent de manière fiable dans toute votre organisation.


Voir aussi

Una guía para crear o insertar listas desplegables en Word

Las listas desplegables son una de las funciones más útiles en Microsoft Word. Limitan la entrada del usuario a un conjunto específico de opciones predefinidas, lo que mejora la precisión de los datos, agiliza las respuestas y ofrece una experiencia de usuario más limpia. Ya sea que esté creando un formulario profesional o un cuestionario, saber cómo crear una lista desplegable en Word es una habilidad esencial para la ingeniería de documentos moderna.

A diferencia de las listas desplegables en Excel, que se utilizan con mayor frecuencia, la implementación de Word está diseñada específicamente para la creación de formularios y el diseño de documentos interactivos. En esta guía paso a paso, desglosamos todos los métodos fiables para crear una lista desplegable en Word.


¿Qué es una lista desplegable en Word?

Una lista desplegable es un elemento de interfaz de usuario que muestra una lista de opciones en formato de menú. Cuando un usuario hace clic en el control, aparece una lista de opciones predefinidas y puede seleccionar una para completar el campo.

Este control es particularmente útil en escenarios donde desea:

  • Estandarizar respuestas en formularios y encuestas.
  • Prevenir errores de entrada de datos limitando las opciones.
  • Acelerar la cumplimentación de formularios eliminando la escritura manual.
  • Recopilar datos limpios y consistentes para su análisis.

Método 1: Crear una lista desplegable usando controles de contenido

Disponible desde Word 2007 hasta el Microsoft 365 más reciente, este es el enfoque moderno y oficialmente compatible para añadir campos interactivos. Los controles de contenido en Word son flexibles, personalizables y funcionan sin necesidad de bloquear todo el documento.

Paso 1: Habilitar la pestaña Programador

El cuadro desplegable en Word se encuentra en la pestaña “Programador” (o “Desarrollador”), la cual está oculta de forma predeterminada para simplificar la interfaz de usuario estándar.

  • Haga clic en “Archivo > Opciones” (o “Word > Preferencias” en Mac).
  • En la ventana “Opciones de Word”, elija “Personalizar cinta de opciones”.
  • En el lado derecho, marque la casilla junto a la opción “Programador”.
  • Haga clic en “Aceptar”. La pestaña Programador aparecerá ahora en la cinta superior.

Habilitar la pestaña Programador en el cuadro de diálogo de Opciones de Word

Paso 2: Insertar el control de contenido de lista desplegable

  • Coloque el cursor donde desee que aparezca la lista desplegable.
  • Vaya a la pestaña “Programador” y localice el grupo “Controles”.
  • Haga clic en el icono “Control de contenido de lista desplegable” (parece una lista con una pequeña flecha).
  • Aparecerá un cuadro desplegable predeterminado en la posición del cursor.

Icono de Control de contenido de lista desplegable en la pestaña Programador

Paso 3: Añadir y personalizar elementos de la lista

  • Seleccione el control recién creado y haga clic en “Propiedades” en la cinta de opciones.
  • En el cuadro de diálogo “Propiedades de control de contenido”, configure los ajustes generales:
    • Introduzca un “Título” para su lista (aparece como una etiqueta sobre el control).
    • Introduzca una “Etiqueta” (un identificador interno para la automatización de documentos).
    • Elija un esquema de “Color” para el control.
    • Marque “No se puede eliminar el control de contenido” para evitar su eliminación accidental.
  • En la sección “Propiedades de lista desplegable”, haga clic en el botón “Agregar”.
  • En la ventana “Agregar opción”, introduzca su opción en el campo “Nombre para mostrar” (esto es lo que verán los usuarios en la lista).
  • El campo “Valor” se completará automáticamente con el mismo texto. Puede modificarlo si es necesario.
  • Repita este proceso para cada opción que desee incluir en su lista desplegable.
  • Utilice los botones “Modificar”, “Quitar”, “Subir” y “Bajar” para refinar su lista.
  • Haga clic en “Aceptar” para guardar sus ajustes.

Cuadro de diálogo Propiedades de control de contenido para configurar las opciones del desplegable

Paso 4: Probar el menú desplegable en Word

Haga clic en la pequeña flecha en el lado derecho del control para expandir la lista y seleccionar un elemento. El texto de marcador de posición predeterminado ("Elija un elemento.") será reemplazado por su selección.

El menú desplegable añadido a Word mostrando cinco opciones

Consejo profesional: La lista desplegable nativa de Microsoft Word solo admite selección única. Para selección múltiple, puede usar controles de contenido de casilla de verificación en Word.


Método 2: Usar campos de formulario heredados para compatibilidad

Si su documento necesita funcionar con Word 2003 o versiones anteriores, o guardarse en el formato antiguo .doc, utilice los campos de formulario desplegables heredados. Este enfoque requiere protección de documento para funcionar y admite características específicas de formulario como macros de salida y cálculos de campo.

Paso 1: Insertar el desplegable heredado

  • Desde la pestaña “Programador”, haga clic en el botón “Herramientas heredadas” (parece una caja de herramientas).
  • En “Formularios heredados”, haga clic en el icono “Campo de formulario desplegable”.
  • Aparecerá un cuadro de campo de formulario gris en la posición del cursor.

El botón Campo de formulario desplegable en Herramientas heredadas

Paso 2: Configurar las opciones del desplegable

  • Haga doble clic en el campo de formulario gris para abrir el cuadro de diálogo “Opciones de campo de formulario desplegable”.
  • En el campo “Elemento de lista desplegable”, escriba su primera opción.
  • Haga clic en “Agregar >>” para moverla al cuadro “Elementos en la lista desplegable”.
  • Repita para todas las opciones restantes.
  • Utilice los botones de flecha para reordenar los elementos o haga clic en “Quitar” para eliminar una opción.
  • Opcional: Configure nombres de marcadores, macros de salida o texto de ayuda para accesibilidad.
  • Haga clic en “Aceptar” para guardar.

Cuadro de diálogo Opciones de campo de formulario desplegable con botón Agregar y lista de elementos

Paso 3: Proteger el documento (Crucial)

A diferencia de los controles de contenido modernos, los campos de formulario heredados no funcionarán a menos que el documento esté protegido para el llenado de formularios.

  • Haga clic en “Restringir edición” en la pestaña “Programador”.
  • En el panel “Restringir edición” a la derecha:
    1. Marque “Permitir solo este tipo de edición en el documento”.
    2. Seleccione “Rellenando formularios” del desplegable.
  • Haga clic en “Sí, aplicar la protección”.
  • Introduzca una contraseña (opcional) y haga clic en “Aceptar”.
  • Los usuarios ahora pueden seleccionar de los desplegables pero no pueden editar el resto del documento.

Restringir edición a Rellenando formularios para activar el desplegable heredado


Método 3: Crear una lista desplegable mediante programación en C#

Para los desarrolladores que necesitan generar o modificar por lotes documentos de Word a gran escala, Free Spire.Doc for .NET proporciona una forma programática de insertar un menú desplegable en Word sin necesidad de tener Microsoft Office instalado en la máquina.

Paso 1: Instalar Free Spire.Doc

Puede añadir la biblioteca a su proyecto .NET a través de NuGet:

  • Interfaz gráfica de NuGet: Busque “FreeSpire.Doc” e instálelo.
  • Consola del Administrador de paquetes: Ejecute PM> Install-Package FreeSpire.Doc.

Alternativamente, descargue el archivo DLL manualmente desde el sitio web de Free Spire.Doc for .NET y añádalo como referencia.

Paso 2: Escribir el código C# para crear un desplegable en Word

El siguiente código crea un nuevo documento de Word, añade un control de contenido de lista desplegable etiquetado con nombres para mostrar personalizados y valores subyacentes, y guarda el archivo resultante:

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // Crear un nuevo documento de Word
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // Añadir un texto de etiqueta antes del desplegable
            TextRange label = paragraph.AppendText("Departamento: ");
            label.CharacterFormat.Bold = true;

            // Crear una etiqueta de documento estructurado en línea (control de contenido desplegable)
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "Departamento";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // Definir los elementos de la lista desplegable
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("Marketing", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("Ventas", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("Recursos Humanos", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("Ingeniería", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("Finanzas", "FIN"));

            // Asignar elementos al control de contenido
            sdt.SDTProperties.ControlProperties = dropDownList;

            // Establecer el texto mostrado predeterminado (primer elemento)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // Guardar el documento
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

Referencia de componentes clave

Componente Propósito
StructureDocumentTagInline Crea un control de contenido (SDT) dentro del párrafo.
SdtType.DropDownList Especifica el tipo de control como una lista desplegable.
SdtDropDownList Almacena la colección completa de elementos de la lista desplegable.
SdtListItem Representa una única opción en la lista (Texto de visualización + Valor).
SDTContent.ChildObjects.Add() Establece el valor predeterminado mostrado al abrir el documento.

Resultado:

Generar una lista desplegable de Word mediante C# y Free Spire.Doc

La enumeración SdtType admite una gama completa de controles. Más allá de los desplegables, también puede insertar cuadros combinados, casillas de verificación y selectores de fecha en Word.

Alternativa: Crear campo de formulario desplegable heredado en C#

Si necesita compatibilidad con formatos de Word antiguos, también puede crear un campo de formulario desplegable heredado:

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("Marketing");
legacyDropDown.DropDownItems.Add("Ventas");
legacyDropDown.DropDownItems.Add("Recursos Humanos");
legacyDropDown.DropDownItems.Add("Ingeniería");
legacyDropDown.DropDownItems.Add("Finanzas");

// Habilitar protección de formulario (requerido para que los campos heredados funcionen)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

Tenga en cuenta que los campos de formulario heredados requieren protección de documento para funcionar, al igual que el método heredado manual cubierto anteriormente.

Generar un campo de formulario desplegable heredado mediante C# y Free Spire.Doc


Preguntas frecuentes (FAQs)

P: ¿Cómo elimino una lista desplegable?

Seleccione el control y presione la tecla “Suprimir”. Si está bloqueado, abra “Propiedades” y desmarque primero "No se puede eliminar el control de contenido".

P: ¿Por qué no funciona mi lista desplegable?

  • Para campos de formulario heredados: El documento no está protegido para el llenado de formularios. Vaya a “Programador” > “Restringir edición” y habilite la protección de llenado de formularios.
  • Para controles de contenido: El control puede estar bloqueado para edición, o el documento está en un modo de compatibilidad que deshabilita los controles modernos.
  • Si la flecha de selección no aparece: Asegúrese de no estar en el Modo Diseño.

P: ¿Cuál es la diferencia entre una lista desplegable y un cuadro combinado?

Una lista desplegable restringe a los usuarios únicamente a sus opciones predefinidas. Un cuadro combinado permite tanto la selección de la lista como la entrada de texto libre.

P: ¿Existe un número máximo de elementos que puedo añadir a una lista desplegable?

Word no impone un límite estricto, pero por razones de usabilidad se recomienda mantener las listas por debajo de 20–30 elementos. Las listas muy largas se vuelven difíciles de navegar para los usuarios. Si necesita docenas de opciones, considere usar un cuadro combinado (que admite la búsqueda por escritura) o dividir las opciones en varios campos.


Reflexiones finales

Dominar cómo hacer una lista desplegable en Word transforma documentos estáticos en formularios dinámicos y fáciles de usar que mejoran la calidad de los datos y reducen el trabajo administrativo. Para la mayoría de los casos de uso cotidianos, los controles de contenido modernos ofrecen el mejor equilibrio de flexibilidad, apariencia y facilidad de uso. Cuando la compatibilidad con versiones anteriores es crítica, los campos de formulario heredados siguen siendo una opción fiable. Para flujos de trabajo de documentos automatizados o de alto volumen, la generación programática con una biblioteca .NET proporciona una solución escalable del lado del servidor.

Independientemente del método que elija, seguir los pasos anteriores le ayudará a crear listas desplegables pulidas y funcionales que funcionen de manera fiable en toda su organización.


Ver también

Eine Anleitung zum Erstellen oder Einfügen von Dropdown-Listen in Word

Dropdown-Listen sind eine der nützlichsten Funktionen in Microsoft Word. Sie beschränken die Benutzereingabe auf eine bestimmte Menge vordefinierter Auswahlmöglichkeiten, was die Datengenauigkeit verbessert, Antworten optimiert und für eine übersichtlichere Benutzererfahrung sorgt. Egal, ob Sie ein professionelles Formular oder einen Fragebogen erstellen, das Wissen, wie man eine Dropdown-Liste in Word erstellt, ist eine wesentliche Fähigkeit für die moderne Dokumentenerstellung.

Im Gegensatz zu Dropdown-Listen in Excel, die häufiger verwendet werden, ist die Implementierung in Word speziell für die Formularerstellung und interaktives Dokumentdesign konzipiert. In dieser Schritt-für-Schritt-Anleitung stellen wir jede zuverlässige Methode vor, um eine Dropdown-Liste in Word zu erstellen.


Was ist eine Dropdown-Liste in Word?

Eine Dropdown-Liste ist ein Benutzeroberflächenelement, das eine Liste von Auswahlmöglichkeiten in einem Menüformat anzeigt. Wenn ein Benutzer auf das Steuerelement klickt, erscheint eine Liste vordefinierter Optionen, aus denen er eine auswählen kann, um das Feld auszufüllen.

Dieses Steuerelement ist besonders nützlich in Szenarien, in denen Sie:

  • Antworten in Formularen und Umfragen standardisieren möchten
  • Dateneingabefehler verhindern möchten, indem Sie die Auswahlmöglichkeiten begrenzen
  • Das Ausfüllen von Formularen beschleunigen möchten, indem Sie das Tippen eliminieren
  • Saubere, konsistente Daten für die Analyse sammeln möchten

Methode 1: Erstellen einer Dropdown-Liste mit Inhaltssteuerelementen

Verfügbar ab Word 2007 bis zum neuesten Microsoft 365, ist dies der moderne, offiziell unterstützte Ansatz zum Hinzufügen interaktiver Felder. Inhaltssteuerelemente in Word sind flexibel, anpassbar und funktionieren, ohne das gesamte Dokument zu sperren.

Schritt 1: Aktivieren der Registerkarte „Entwicklertools“

Das Dropdown-Feld in Word befindet sich auf der Registerkarte „Entwicklertools“, die standardmäßig ausgeblendet ist, um die Benutzeroberfläche zu vereinfachen.

  • Klicken Sie auf „Datei > Optionen“ (oder „Word > Einstellungen“ auf dem Mac).
  • Wählen Sie im Fenster „Word-Optionen“ die Option „Menüband anpassen“.
  • Aktivieren Sie auf der rechten Seite das Kontrollkästchen neben „Entwicklertools“.
  • Klicken Sie auf „OK“. Die Registerkarte „Entwicklertools“ erscheint nun im oberen Menüband.

Registerkarte „Entwicklertools“ in den Word-Optionen aktivieren

Schritt 2: Einfügen des Dropdown-Inhaltssteuerelements

  • Platzieren Sie den Cursor an der Stelle, an der die Dropdown-Liste erscheinen soll.
  • Navigieren Sie zur Registerkarte „Entwicklertools“ und suchen Sie die Gruppe „Steuerelemente“.
  • Klicken Sie auf das Symbol „Dropdownlisten-Inhaltssteuerelement“ (es sieht aus wie eine Liste mit einem kleinen Pfeil).
  • Ein Standard-Dropdown-Feld erscheint an Ihrer Cursorposition.

Symbol für Dropdownlisten-Inhaltssteuerelement auf der Registerkarte „Entwicklertools“

Schritt 3: Hinzufügen und Anpassen von Listenelementen

  • Wählen Sie das neu erstellte Steuerelement aus und klicken Sie im Menüband auf „Eigenschaften“.
  • Konfigurieren Sie im Dialogfeld „Eigenschaften von Inhaltssteuerelementen“ die allgemeinen Einstellungen:
    • Geben Sie einen „Titel“ für Ihre Liste ein (erscheint als Bezeichnung über dem Steuerelement)
    • Geben Sie ein „Tag“ ein (ein interner Bezeichner für die Dokumentenautomatisierung)
    • Wählen Sie ein „Farbschema“ für das Steuerelement
    • Aktivieren Sie „Inhaltssteuerelement kann nicht gelöscht werden“, um ein versehentliches Entfernen zu verhindern
  • Klicken Sie im Abschnitt „Eigenschaften der Dropdownliste“ auf die Schaltfläche „Hinzufügen“.
  • Geben Sie im Fenster „Auswahl hinzufügen“ Ihre Option in das Feld „Anzeigename“ ein (dies ist das, was Benutzer in der Liste sehen werden).
  • Das Feld „Wert“ wird automatisch mit demselben Text ausgefüllt. Sie können ihn bei Bedarf ändern.
  • Wiederholen Sie diesen Vorgang für jede Option, die Sie in Ihre Dropdown-Liste aufnehmen möchten.
  • Verwenden Sie die Schaltflächen „Ändern“, „Entfernen“, „Nach oben“ und „Nach unten“, um Ihre Liste zu verfeinern.
  • Klicken Sie auf „OK“, um Ihre Einstellungen zu speichern.

Dialogfeld „Eigenschaften von Inhaltssteuerelementen“ zur Konfiguration der Dropdown-Optionen

Schritt 4: Testen des Dropdown-Menüs in Word

Klicken Sie auf den kleinen Pfeil auf der rechten Seite des Steuerelements, um die Liste zu erweitern und ein Element auszuwählen. Der Standard-Platzhaltertext („Wählen Sie ein Element aus.“) wird durch Ihre Auswahl ersetzt.

Das in Word hinzugefügte Dropdown-Menü mit fünf Optionen

Profi-Tipp: Die native Microsoft Word-Dropdown-Liste unterstützt nur eine Einzelauswahl. Für eine Mehrfachauswahl können Sie Kontrollkästchen-Inhaltssteuerelemente in Word verwenden.


Methode 2: Verwendung von Legacy-Formularfeldern für Kompatibilität

Wenn Ihr Dokument mit Word 2003 und früher funktionieren oder im älteren .doc-Format gespeichert werden muss, verwenden Sie Legacy-Dropdown-Formularfelder. Dieser Ansatz erfordert zum Funktionieren einen Dokumentschutz und unterstützt formularspezifische Funktionen wie Exit-Makros und Feldberechnungen.

Schritt 1: Einfügen des Legacy-Dropdowns

  • Klicken Sie auf der Registerkarte „Entwicklertools“ auf die Schaltfläche „Legacytools“ (sieht aus wie eine Werkzeugkiste).
  • Klicken Sie unter „Legacyformulare“ auf das Symbol „Dropdown-Formularfeld“.
  • Ein graues Formularfeld erscheint an Ihrer Cursorposition.

Die Schaltfläche „Dropdown-Formularfeld“ in den Legacytools

Schritt 2: Konfigurieren der Dropdown-Optionen

  • Doppelklicken Sie auf das graue Formularfeld, um das Dialogfeld „Optionen für Dropdown-Formularfeld“ zu öffnen.
  • Geben Sie im Feld „Dropdown-Element“ Ihre erste Option ein.
  • Klicken Sie auf „Hinzufügen >>“, um sie in das Feld „Elemente in Dropdown-Liste“ zu verschieben.
  • Wiederholen Sie dies für alle verbleibenden Optionen.
  • Verwenden Sie die Pfeiltasten, um die Elemente neu anzuordnen, oder klicken Sie auf „Entfernen“, um eine Option zu löschen.
  • Optional: Konfigurieren Sie Textmarkennamen, Exit-Makros oder Hilfetexte für die Barrierefreiheit.
  • Klicken Sie auf „OK“, um zu speichern.

Dialogfeld „Optionen für Dropdown-Formularfeld“ mit Schaltfläche „Hinzufügen“ und Elementliste

Schritt 3: Schützen des Dokuments (Wichtig)

Im Gegensatz zu modernen Inhaltssteuerelementen funktionieren Legacy-Formularfelder nicht, es sei denn, das Dokument ist für das Ausfüllen von Formularen geschützt.

  • Klicken Sie auf der Registerkarte „Entwicklertools“ auf „Bearbeitung einschränken“.
  • Im Bereich „Bearbeitung einschränken“ auf der rechten Seite:
    1. Aktivieren Sie „Bearbeitungseinschränkungen
    2. Wählen Sie „Ausfüllen von Formularen“ aus dem Dropdown-Menü
  • Klicken Sie auf „Ja, Schutz jetzt anwenden“.
  • Geben Sie ein Kennwort ein (optional) und klicken Sie auf „OK“.
  • Benutzer können nun aus Dropdowns auswählen, aber den Rest des Dokuments nicht bearbeiten.

Bearbeitung auf „Ausfüllen von Formularen“ einschränken, um das Legacy-Dropdown zu aktivieren


Methode 3: Programmgesteuertes Erstellen einer Dropdown-Liste in C#

Für Entwickler, die Word-Dokumente in großem Maßstab generieren oder stapelweise ändern müssen, bietet Free Spire.Doc für .NET eine programmgesteuerte Möglichkeit, Dropdown-Menüs in Word einzufügen, ohne dass Microsoft Office auf dem Computer installiert sein muss.

Schritt 1: Installieren von Free Spire.Doc

Sie können die Bibliothek über NuGet zu Ihrem .NET-Projekt hinzufügen:

  • NuGet-GUI: Suchen Sie nach „FreeSpire.Doc“ und installieren Sie es.
  • Paket-Manager-Konsole: Führen Sie PM> Install-Package FreeSpire.Doc aus.

Alternativ können Sie die DLL manuell von der Website Free Spire.Doc für .NET herunterladen und als Referenz hinzufügen.

Schritt 2: Schreiben des C#-Codes zum Erstellen eines Dropdowns in Word

Der folgende Code erstellt ein neues Word-Dokument, fügt ein beschriftetes Dropdown-Listen-Inhaltssteuerelement mit benutzerdefinierten Anzeigenamen und zugrunde liegenden Werten hinzu und speichert die Ausgabedatei:

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // Ein neues Word-Dokument erstellen
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // Einen Beschriftungstext vor dem Dropdown hinzufügen
            TextRange label = paragraph.AppendText("Abteilung: ");
            label.CharacterFormat.Bold = true;

            // Ein Inline-Strukturdokument-Tag (Dropdown-Inhaltssteuerelement) erstellen
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "Abteilung";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // Dropdown-Listenelemente definieren
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("Marketing", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("Vertrieb", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("Personalwesen", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("Technik", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("Finanzen", "FIN"));

            // Elemente dem Inhaltssteuerelement zuweisen
            sdt.SDTProperties.ControlProperties = dropDownList;

            // Standardmäßig angezeigten Text festlegen (erstes Element)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // Das Dokument speichern
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

Referenz der Schlüsselkomponenten

Komponente Zweck
StructureDocumentTagInline Erstellt ein Inhaltssteuerelement (SDT) innerhalb des Absatzes.
SdtType.DropDownList Legt den Steuerelementtyp als Dropdown-Liste fest.
SdtDropDownList Speichert die vollständige Sammlung der Dropdown-Listenelemente.
SdtListItem Repräsentiert eine einzelne Option in der Liste (Anzeigetext + Wert).
SDTContent.ChildObjects.Add() Legt den Standardwert fest, der beim Öffnen des Dokuments angezeigt wird.

Ausgabe:

Generieren einer Word-Dropdown-Liste über C# und Free Spire.Doc

Die SdtType-Enumeration unterstützt eine ganze Reihe von Steuerelementen. Neben Dropdowns können Sie auch Kombinationsfelder, Kontrollkästchen und Datumsauswahlen in Word einfügen.

Alternative: Legacy-Dropdown-Formularfeld in C# erstellen

Wenn Sie Kompatibilität mit älteren Word-Formaten benötigen, können Sie auch ein Legacy-Dropdown-Formularfeld erstellen:

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("Marketing");
legacyDropDown.DropDownItems.Add("Vertrieb");
legacyDropDown.DropDownItems.Add("Personalwesen");
legacyDropDown.DropDownItems.Add("Technik");
legacyDropDown.DropDownItems.Add("Finanzen");

// Formularschutz aktivieren (erforderlich, damit Legacy-Felder funktionieren)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

Beachten Sie, dass Legacy-Formularfelder einen Dokumentschutz erfordern, um zu funktionieren, genau wie die zuvor behandelte manuelle Legacy-Methode.

Generieren eines Legacy-Dropdown-Formularfelds über C# und Free Spire.Doc


Häufig gestellte Fragen (FAQs)

F: Wie entferne ich eine Dropdown-Liste?

Wählen Sie das Steuerelement aus und drücken Sie die „Entf“-Taste. Wenn es gesperrt ist, öffnen Sie „Eigenschaften“ und deaktivieren Sie zuerst „Inhaltssteuerelement kann nicht gelöscht werden“.

F: Warum funktioniert meine Dropdown-Liste nicht?

  • Bei Legacy-Formularfeldern: Das Dokument ist nicht für das Ausfüllen von Formularen geschützt. Gehen Sie zu „Entwicklertools“ > „Bearbeitung einschränken“ und aktivieren Sie den Schutz für das Ausfüllen von Formularen.
  • Bei Inhaltssteuerelementen: Das Steuerelement ist möglicherweise für die Bearbeitung gesperrt oder das Dokument befindet sich in einem Kompatibilitätsmodus, der moderne Steuerelemente deaktiviert.
  • Wenn der Auswahlpfeil nicht erscheint: Stellen Sie sicher, dass Sie sich nicht im Entwurfsmodus befinden.

F: Was ist der Unterschied zwischen einer Dropdown-Liste und einem Kombinationsfeld?

Eine Dropdown-Liste beschränkt Benutzer nur auf Ihre vordefinierten Optionen. Ein Kombinationsfeld ermöglicht sowohl die Auswahl aus der Liste als auch die freie Texteingabe.

F: Gibt es eine maximale Anzahl von Elementen, die ich einer Dropdown-Liste hinzufügen kann?

Word erzwingt kein striktes hartes Limit, aber aus Gründen der Benutzerfreundlichkeit wird empfohlen, Listen unter 20–30 Elementen zu halten. Sehr lange Listen werden für Benutzer schwer zu navigieren. Wenn Sie Dutzende von Optionen benötigen, sollten Sie die Verwendung eines Kombinationsfelds (das die Suche durch Tippen unterstützt) oder die Aufteilung der Auswahlmöglichkeiten auf mehrere Felder in Betracht ziehen.


Abschließende Gedanken

Das Beherrschen der Erstellung einer Dropdown-Liste in Word verwandelt statische Dokumente in dynamische, benutzerfreundliche Formulare, die die Datenqualität verbessern und den administrativen Aufwand reduzieren. Für die meisten alltäglichen Anwendungsfälle bieten moderne Inhaltssteuerelemente das beste Gleichgewicht zwischen Flexibilität, Aussehen und Benutzerfreundlichkeit. Wenn Abwärtskompatibilität entscheidend ist, bleiben Legacy-Formularfelder eine zuverlässige Option. Für hochvolumige oder automatisierte Dokumenten-Workflows bietet die programmgesteuerte Generierung mit einer .NET-Bibliothek eine skalierbare, serverseitige Lösung.

Egal für welche Methode Sie sich entscheiden, die oben genannten Schritte helfen Ihnen dabei, ausgefeilte, funktionale Dropdown-Listen zu erstellen, die in Ihrem gesamten Unternehmen zuverlässig funktionieren.


Siehe auch

Руководство по созданию или вставке раскрывающихся списков в Word

Раскрывающиеся списки — одна из самых полезных функций в Microsoft Word. Они ограничивают ввод пользователя определенным набором заранее заданных вариантов, что повышает точность данных, упрощает получение ответов и делает работу с документом более удобной. Независимо от того, создаете ли вы профессиональную форму или анкету, умение создавать раскрывающийся список в Word является важным навыком для современного документооборота.

В отличие от раскрывающихся списков в Excel, которые используются чаще, реализация в Word специально разработана для создания форм и интерактивного дизайна документов. В этом пошаговом руководстве мы разберем все надежные способы создания раскрывающегося списка в Word.


Что такое раскрывающийся список в Word?

Раскрывающийся список — это элемент пользовательского интерфейса, который отображает список вариантов в виде меню. Когда пользователь нажимает на элемент управления, появляется список заранее заданных опций, из которых можно выбрать одну для заполнения поля.

Этот элемент особенно полезен в ситуациях, когда вы хотите:

  • Стандартизировать ответы в формах и опросах
  • Предотвратить ошибки ввода данных, ограничив выбор
  • Ускорить заполнение форм, исключив необходимость печати
  • Собирать чистые и согласованные данные для анализа

Способ 1: Создание раскрывающегося списка с помощью элементов управления содержимым

Доступный в версиях Word от 2007 до новейшего Microsoft 365, это современный, официально поддерживаемый подход для добавления интерактивных полей. Элементы управления содержимым в Word гибкие, настраиваемые и работают без необходимости блокировки всего документа.

Шаг 1: Включите вкладку «Разработчик»

Раскрывающийся список в Word находится на вкладке «Разработчик», которая по умолчанию скрыта для упрощения стандартного интерфейса.

  • Нажмите «Файл > Параметры» (или «Word > Параметры» на Mac).
  • В окне «Параметры Word» выберите «Настроить ленту».
  • В правой части установите флажок рядом с пунктом «Разработчик».
  • Нажмите «ОК». Теперь вкладка «Разработчик» появится на верхней ленте.

Включение вкладки «Разработчик» в диалоговом окне параметров Word

Шаг 2: Вставьте элемент управления содержимым «Раскрывающийся список»

  • Поместите курсор туда, где должен появиться раскрывающийся список.
  • Перейдите на вкладку «Разработчик» и найдите группу «Элементы управления».
  • Нажмите значок «Элемент управления содержимым "Раскрывающийся список"» (он выглядит как список с маленькой стрелкой).
  • Стандартное поле списка появится в месте расположения курсора.

Значок элемента управления содержимым «Раскрывающийся список» на вкладке «Разработчик»

Шаг 3: Добавление и настройка элементов списка

  • Выберите созданный элемент управления и нажмите «Свойства» на ленте.
  • В диалоговом окне «Свойства элемента управления содержимым» настройте общие параметры:
    • Введите «Заголовок» для вашего списка (отображается как метка над элементом)
    • Введите «Тег» (внутренний идентификатор для автоматизации документа)
    • Выберите цветовую схему для элемента
    • Установите флажок «Элемент управления содержимым нельзя удалить», чтобы предотвратить случайное удаление
  • В разделе «Свойства раскрывающегося списка» нажмите кнопку «Добавить».
  • В окне «Добавление выбора» введите свой вариант в поле «Отображаемое имя» (это то, что пользователи увидят в списке).
  • Поле «Значение» заполнится автоматически тем же текстом. Вы можете изменить его при необходимости.
  • Повторите этот процесс для каждого варианта, который хотите включить в список.
  • Используйте кнопки «Изменить», «Удалить», «Вверх» и «Вниз» для упорядочивания списка.
  • Нажмите «ОК» для сохранения настроек.

Диалоговое окно свойств элемента управления содержимым для настройки параметров списка

Шаг 4: Проверка раскрывающегося меню в Word

Нажмите маленькую стрелку с правой стороны элемента управления, чтобы развернуть список и выбрать нужный пункт. Текст-заполнитель по умолчанию («Выберите элемент») будет заменен на ваш выбор.

Раскрывающееся меню, добавленное в Word, с пятью вариантами

Совет: Стандартный раскрывающийся список Microsoft Word поддерживает только одиночный выбор. Для множественного выбора можно использовать элементы управления содержимым «Флажок» в Word.


Способ 2: Использование устаревших полей формы для совместимости

Если ваш документ должен работать в Word 2003 и более ранних версиях или сохраняться в старом формате .doc, используйте устаревшие поля формы «Раскрывающийся список». Этот подход требует защиты документа для работы и поддерживает специфические функции форм, такие как макросы выхода и вычисления полей.

Шаг 1: Вставка устаревшего раскрывающегося списка

  • На вкладке «Разработчик» нажмите кнопку «Инструменты из предыдущих версий» (выглядит как набор инструментов).
  • В разделе «Формы из предыдущих версий» нажмите значок «Поле формы "Раскрывающийся список"».
  • Серое поле формы появится в месте расположения курсора.

Кнопка «Поле формы

Шаг 2: Настройка параметров раскрывающегося списка

  • Дважды щелкните по серому полю формы, чтобы открыть диалоговое окно «Параметры поля формы "Раскрывающийся список"».
  • В поле «Элемент раскрывающегося списка» введите ваш первый вариант.
  • Нажмите «Добавить >>», чтобы переместить его в поле «Элементы в раскрывающемся списке».
  • Повторите для всех остальных вариантов.
  • Используйте кнопки со стрелками для изменения порядка элементов или нажмите «Удалить», чтобы убрать вариант.
  • Дополнительно: настройте имена закладок, макросы выхода или справочный текст для доступности.
  • Нажмите «ОК» для сохранения.

Диалоговое окно параметров поля формы «Раскрывающийся список» с кнопкой добавления и списком элементов

Шаг 3: Защита документа (Критически важно)

В отличие от современных элементов управления, устаревшие поля формы не будут работать, если документ не защищен для заполнения форм.

  • Нажмите «Ограничить редактирование» на вкладке «Разработчик».
  • В панели «Ограничение редактирования» справа:
    1. Установите флажок «Разрешить только указанный способ редактирования документа»
    2. Выберите «Заполнение форм» из раскрывающегося списка
  • Нажмите «Да, включить защиту».
  • Введите пароль (необязательно) и нажмите «ОК».
  • Теперь пользователи могут выбирать значения из списков, но не могут редактировать остальную часть документа.

Ограничение редактирования до «Заполнения форм» для активации устаревшего списка


Способ 3: Программное создание раскрывающегося списка на C#

Для разработчиков, которым необходимо создавать или массово изменять документы Word, Free Spire.Doc for .NET предоставляет программный способ вставки раскрывающегося меню в Word без необходимости установки Microsoft Office на машине.

Шаг 1: Установка Free Spire.Doc

Вы можете добавить библиотеку в свой .NET проект через NuGet:

  • NuGet GUI: Найдите «FreeSpire.Doc» и установите.
  • Консоль диспетчера пакетов: Выполните команду PM> Install-Package FreeSpire.Doc.

Альтернативно, скачайте DLL вручную с сайта Free Spire.Doc for .NET и добавьте её как ссылку.

Шаг 2: Написание кода на C# для создания раскрывающегося списка в Word

Следующий код создает новый документ Word, добавляет элемент управления содержимым «Раскрывающийся список» с меткой, пользовательскими отображаемыми именами и базовыми значениями, а затем сохраняет выходной файл:

using Spire.Doc;
using Spire.Doc.Fields;
using Spire.Doc.Documents;

namespace CreateDropDownList
{
    class Program
    {
        static void Main(string[] args)
        {
            // Создание нового документа Word
            Document document = new Document();
            Section section = document.AddSection();
            Paragraph paragraph = section.AddParagraph();

            // Добавление текста метки перед списком
            TextRange label = paragraph.AppendText("Отдел: ");
            label.CharacterFormat.Bold = true;

            // Создание встроенного тега структурированного документа (элемент управления содержимым)
            StructureDocumentTagInline sdt = new StructureDocumentTagInline(document);
            sdt.SDTProperties.SDTType = SdtType.DropDownList;
            sdt.SDTProperties.Alias = "Department";
            sdt.SDTProperties.Tag = "dept_selection";
            paragraph.ChildObjects.Add(sdt);

            // Определение элементов раскрывающегося списка
            SdtDropDownList dropDownList = new SdtDropDownList();
            dropDownList.ListItems.Add(new SdtListItem("Маркетинг", "MKT"));
            dropDownList.ListItems.Add(new SdtListItem("Продажи", "SLS"));
            dropDownList.ListItems.Add(new SdtListItem("HR", "HR"));
            dropDownList.ListItems.Add(new SdtListItem("Инженерия", "ENG"));
            dropDownList.ListItems.Add(new SdtListItem("Финансы", "FIN"));

            // Назначение элементов элементу управления
            sdt.SDTProperties.ControlProperties = dropDownList;

            // Установка текста по умолчанию (первый элемент)
            TextRange defaultText = new TextRange(document);
            defaultText.Text = dropDownList.ListItems[0].DisplayText;
            sdt.SDTContent.ChildObjects.Add(defaultText);

            // Сохранение документа
            document.SaveToFile("DropDownList.docx", FileFormat.Docx2016);
            document.Close();
        }
    }
}

Справочник ключевых компонентов

Компонент Назначение
StructureDocumentTagInline Создает элемент управления содержимым (SDT) внутри абзаца.
SdtType.DropDownList Указывает тип элемента управления как раскрывающийся список.
SdtDropDownList Хранит полную коллекцию элементов раскрывающегося списка.
SdtListItem Представляет отдельный вариант в списке (Отображаемый текст + Значение).
SDTContent.ChildObjects.Add() Устанавливает значение по умолчанию, отображаемое при открытии документа.

Результат:

Создание раскрывающегося списка Word через C# и Free Spire.Doc

Перечисление SdtType поддерживает полный спектр элементов управления. Помимо раскрывающихся списков, вы также можете вставлять комбинированные списки, флажки и средства выбора даты в Word.

Альтернатива: Создание устаревшего поля формы «Раскрывающийся список» на C#

Если вам нужна совместимость со старыми форматами Word, вы также можете создать устаревшее поле формы:

DropDownFormField legacyDropDown = paragraph.AppendField("StatusField", FieldType.FieldFormDropDown) as DropDownFormField;
legacyDropDown.DropDownItems.Add("Маркетинг");
legacyDropDown.DropDownItems.Add("Продажи");
legacyDropDown.DropDownItems.Add("HR");
legacyDropDown.DropDownItems.Add("Инженерия");
legacyDropDown.DropDownItems.Add("Финансы");

// Включение защиты формы (требуется для работы устаревших полей)
document.Protect(ProtectionType.AllowOnlyFormFields, "");

Обратите внимание, что устаревшие поля формы требуют защиты документа для работы, так же как и ручной способ, описанный ранее.

Создание устаревшего поля формы «Раскрывающийся список» через C# и Free Spire.Doc


Часто задаваемые вопросы (FAQ)

В: Как удалить раскрывающийся список?

Выберите элемент управления и нажмите клавишу «Delete». Если он заблокирован, сначала откройте «Свойства» и снимите флажок «Элемент управления содержимым нельзя удалить».

В: Почему мой раскрывающийся список не работает?

  • Для устаревших полей формы: Документ не защищен для заполнения форм. Перейдите в «Разработчик» > «Ограничить редактирование» и включите защиту заполнения форм.
  • Для элементов управления содержимым: Элемент может быть заблокирован для редактирования, или документ находится в режиме совместимости, который отключает современные элементы управления.
  • Если стрелка выбора не появляется: Убедитесь, что вы не находитесь в режиме конструктора.

В: В чем разница между раскрывающимся списком и комбинированным списком?

Раскрывающийся список ограничивает пользователей только вашими заранее заданными вариантами. Комбинированный список позволяет как выбирать из списка, так и вводить произвольный текст.

В: Есть ли максимальное количество элементов, которые можно добавить в раскрывающийся список?

Word не устанавливает жесткого ограничения, но для удобства использования рекомендуется ограничивать списки 20–30 элементами. Очень длинные списки становятся неудобными для навигации. Если вам нужны десятки вариантов, рассмотрите возможность использования комбинированного списка (который поддерживает поиск по мере ввода) или разделения вариантов на несколько полей.


Заключение

Освоение того, как сделать раскрывающийся список в Word, превращает статические документы в динамические, удобные для пользователя формы, которые повышают качество данных и сокращают административную работу. Для большинства повседневных задач современные элементы управления содержимым предлагают наилучший баланс гибкости, внешнего вида и простоты использования. Когда критически важна обратная совместимость, устаревшие поля формы остаются надежным вариантом. Для автоматизированных рабочих процессов с большими объемами документов программная генерация с помощью .NET-библиотеки обеспечивает масштабируемое серверное решение.

Какой бы метод вы ни выбрали, выполнение описанных выше шагов поможет вам создать отточенные, функциональные раскрывающиеся списки, которые будут надежно работать во всей вашей организации.


Смотрите также

Mesclar vários arquivos CSV em uma pasta de trabalho do Excel

Ao trabalhar com relatórios exportados de diferentes sistemas, é comum acabar com dezenas de arquivos CSV. Por exemplo, cada departamento, loja ou mês pode gerar seu próprio relatório CSV. Embora isso torne a coleta de dados simples, gerenciar um grande número de arquivos separados rapidamente se torna inconveniente.

Uma solução prática é combinar todos os arquivos CSV em uma única pasta de trabalho do Excel, mantendo cada CSV como uma planilha separada. Isso preserva a estrutura original do arquivo, facilita a navegação e permite que você compartilhe uma única pasta de trabalho em vez de vários arquivos individuais.

Neste artigo, apresentaremos três métodos práticos — desde uma abordagem manual simples até a automação do Excel com VBA e uma solução totalmente programática em Python.

Métodos abordados:

Método 1. Copiar e colar arquivos CSV em planilhas separadas

Se você tiver apenas alguns arquivos CSV para mesclar, a solução mais simples é copiar seus conteúdos para diferentes planilhas manualmente.

Um detalhe importante é que você deve abrir cada arquivo CSV com o Microsoft Excel em vez de um editor de texto como o Bloco de Notas. Quando um CSV é aberto no Excel, suas linhas e colunas são analisadas corretamente com base no delimitador. Se você copiar o texto diretamente do Bloco de Notas, o Excel poderá colar tudo em uma única coluna em vez de separar os valores automaticamente.

Copiar e colar arquivos CSV em planilhas separadas

Passos

  1. Abra o Microsoft Excel e crie uma nova pasta de trabalho.
  2. Abra o primeiro arquivo CSV usando o Excel.
  3. Selecione todos os dados (Ctrl + A) e copie-os (Ctrl + C).
  4. Retorne à nova pasta de trabalho e cole os dados na primeira planilha.
  5. Renomeie a planilha, se necessário.
  6. Repita o processo para cada arquivo CSV restante, criando uma nova planilha a cada vez.
  7. Salve a pasta de trabalho como um arquivo .xlsx.

Prós

  • Não requer programação.
  • Funciona em qualquer instalação do Excel.
  • Preserva um CSV por planilha.
  • Ideal para tarefas ocasionais envolvendo apenas alguns arquivos.

Contras

  • Demorado ao processar muitos arquivos.
  • Totalmente manual.
  • Fácil de cometer erros ao lidar com dezenas de arquivos CSV.

Método 2. Usar uma macro VBA para importar vários arquivos CSV

Se você realiza essa tarefa frequentemente dentro do Excel, uma macro VBA pode automatizar todo o processo. A macro verifica uma pasta, abre cada arquivo CSV, copia sua planilha para a pasta de trabalho atual e nomeia a planilha com o nome do arquivo CSV.

Combinar vários arquivos CSV no Excel usando macro VBA

Passo 1. Criar uma pasta de trabalho em branco

Abra o Excel e crie uma nova pasta de trabalho. Esta pasta de trabalho será o destino que armazenará todas as planilhas importadas.

Passo 2. Abrir o Editor VBA

Pressione Alt + F11 para abrir o Editor do Visual Basic.

Escolha Inserir > Módulo e cole o código a seguir no novo módulo.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Digite o caminho da pasta contendo os arquivos CSV:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "Arquivos CSV foram mesclados com sucesso."

End Sub

Passo 3. Executar a macro

Pressione F5, insira a pasta que contém seus arquivos CSV e a macro importará automaticamente cada CSV para sua própria planilha.

Prós

  • Muito mais rápido do que copiar manualmente.
  • Executado inteiramente dentro do Microsoft Excel.
  • Cria automaticamente uma planilha para cada arquivo CSV.
  • Adequado para usuários que trabalham regularmente com o Excel.

Contras

  • Requer pastas de trabalho habilitadas para macro.
  • Os usuários devem habilitar macros VBA.
  • Menos adequado para automação autônoma ou no lado do servidor.

Método 3. Mesclar vários arquivos CSV em Python usando Spire.XLS

Para fluxos de trabalho recorrentes, tarefas agendadas ou aplicações empresariais, a automação programática é frequentemente a solução mais eficiente.

Muitos desenvolvedores pensam imediatamente no Pandas para processamento de CSV. O Pandas é uma excelente biblioteca para ler, analisar e transformar dados tabulares. No entanto, seu foco principal é a análise de dados, não a geração de documentos.

Se o seu fluxo de trabalho vai além da simples importação de arquivos CSV — por exemplo, formatar planilhas, aplicar estilos, inserir gráficos, proteger pastas de trabalho ou exportar a pasta de trabalho final para PDF — uma biblioteca de planilhas como o Free Spire.XLS for Python oferece uma solução mais completa.

Primeiro, instale a biblioteca:

pip install Spire.XLS

Em seguida, use o código a seguir para mesclar cada arquivo CSV em uma pasta em uma única pasta de trabalho do Excel, com cada CSV se tornando uma planilha separada.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Criar a pasta de trabalho de destino
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Processar cada arquivo CSV
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Saída:

Mesclar vários arquivos CSV em uma pasta de trabalho do Excel usando Python

Comparado com métodos manuais ou VBA, esta abordagem é muito mais fácil de integrar em fluxos de trabalho automatizados. Após gerar a pasta de trabalho, você pode continuar processando-a com o Spire.XLS — por exemplo:

  • Aplicar fontes, cores, bordas e formatos numéricos.
  • Congelar painéis ou ajustar larguras de coluna automaticamente.
  • Criar gráficos e tabelas dinâmicas.
  • Proteger planilhas ou a pasta de trabalho.
  • Exportar a pasta de trabalho concluída para PDF ou outros formatos.

Essas capacidades a tornam adequada não apenas para mesclagem de CSV, mas também para pipelines de geração de relatórios de ponta a ponta.

Comparação dos três métodos

Método Programação necessária Processamento em lote Melhor para
Copiar e colar Não Limitado Tarefas únicas com apenas alguns arquivos CSV
Macro VBA VBA básico Sim Usuários de Excel que importam arquivos CSV regularmente
Python + Free Spire.XLS Python Excelente Fluxos de trabalho automatizados, aplicações empresariais e processamento em lote

Conclusão

O melhor método depende da frequência com que você precisa realizar a tarefa.

Se você só precisa combinar alguns arquivos CSV ocasionalmente, copiar e colar os dados manualmente em planilhas separadas é a solução mais rápida.

Se você trabalha principalmente no Excel e realiza essa tarefa regularmente, uma macro VBA pode automatizar o processo com esforço mínimo.

Para desenvolvedores que criam fluxos de trabalho repetíveis ou integram o processamento de CSV em aplicações, o Python com Spire.XLS oferece a maior flexibilidade. Além de mesclar arquivos CSV, ele permite manipulação avançada de planilhas e geração de documentos, tornando-o adequado para uma ampla gama de cenários de automação.

Perguntas frequentes (FAQs)

Posso mesclar centenas de arquivos CSV em uma única pasta de trabalho do Excel?

Sim. O VBA pode lidar com muitos arquivos, mas para lotes muito grandes ou fluxos de trabalho automatizados, uma solução em Python é geralmente mais confiável e escalável.

Cada arquivo CSV se tornará sua própria planilha?

Sim. Todos os três métodos descritos neste artigo preservam cada CSV como uma planilha separada, em vez de combinar todos os dados em uma única planilha.

Os nomes das planilhas podem ser baseados nos nomes dos arquivos CSV?

Sim. Tanto a macro VBA quanto o exemplo em Python usam automaticamente o nome do arquivo CSV (sem a extensão) como o nome da planilha.

E se meus arquivos CSV usarem UTF-8 ou outras codificações?

A maioria dos arquivos CSV pode ser importada sem problemas. Se seus arquivos usarem uma codificação ou delimitador diferente, ajuste as configurações de importação adequadamente antes de processar.

Posso continuar editando a pasta de trabalho após mesclar os arquivos CSV?

Com certeza. Após a criação da pasta de trabalho, você pode formatar planilhas, inserir gráficos, adicionar fórmulas, proteger a pasta de trabalho ou exportá-la para PDF como qualquer outro arquivo do Excel.

Veja também

여러 CSV 파일을 하나의 Excel 통합 문서로 병합

서로 다른 시스템에서 내보낸 보고서를 작업하다 보면 수십 개의 CSV 파일이 생기는 경우가 흔합니다. 예를 들어, 각 부서, 매장 또는 월별로 자체 CSV 보고서를 생성할 수 있습니다. 이는 데이터 수집을 간편하게 만들지만, 별도의 파일이 많아지면 관리하기가 매우 번거로워집니다.

실용적인 해결책은 모든 CSV 파일을 하나의 Excel 통합 문서로 결합하면서 각 CSV를 별도의 워크시트로 유지하는 것입니다. 이렇게 하면 원래 파일 구조가 보존되고, 탐색이 쉬워지며, 여러 개의 개별 파일 대신 하나의 통합 문서를 공유할 수 있습니다.

이 기사에서는 간단한 수동 방식부터 VBA를 이용한 Excel 자동화, 그리고 완전한 프로그래밍 방식인 Python 솔루션까지 세 가지 실용적인 방법을 소개합니다.

다루는 방법:

방법 1. CSV 파일을 별도의 워크시트로 복사 및 붙여넣기

병합할 CSV 파일이 몇 개뿐이라면, 내용을 수동으로 다른 워크시트에 복사하는 것이 가장 간단한 해결책입니다.

한 가지 중요한 점은 메모장과 같은 텍스트 편집기가 아닌 Microsoft Excel로 각 CSV 파일을 열어야 한다는 것입니다. CSV를 Excel에서 열면 구분 기호를 기준으로 행과 열이 올바르게 파싱됩니다. 메모장에서 텍스트를 직접 복사하면, Excel이 값을 자동으로 구분하지 않고 모든 내용을 단일 열에 붙여넣을 수 있습니다.

CSV 파일을 별도의 워크시트로 복사 및 붙여넣기

단계

  1. Microsoft Excel을 열고 새 통합 문서를 만듭니다.
  2. Excel을 사용하여 첫 번째 CSV 파일을 엽니다.
  3. 모든 데이터(Ctrl + A)를 선택하고 복사(Ctrl + C)합니다.
  4. 새 통합 문서로 돌아와 첫 번째 워크시트에 데이터를 붙여넣습니다.
  5. 필요한 경우 워크시트 이름을 바꿉니다.
  6. 나머지 각 CSV 파일에 대해 이 과정을 반복하며 매번 새 워크시트를 만듭니다.
  7. 통합 문서를 .xlsx 파일로 저장합니다.

장점

  • 프로그래밍이 필요 없음.
  • 모든 Excel 설치 환경에서 작동.
  • 워크시트당 하나의 CSV 유지.
  • 파일 수가 적은 가끔 발생하는 작업에 이상적.

단점

  • 많은 파일을 처리할 때 시간이 많이 소요됨.
  • 전적으로 수동 작업.
  • 수십 개의 CSV 파일을 다룰 때 실수하기 쉬움.

방법 2. VBA 매크로를 사용하여 여러 CSV 파일 가져오기

Excel 내에서 이 작업을 자주 수행한다면, VBA 매크로를 통해 전체 과정을 자동화할 수 있습니다. 매크로는 폴더를 스캔하고, 모든 CSV 파일을 열어 현재 통합 문서로 워크시트를 복사한 다음, CSV 파일 이름으로 워크시트 이름을 지정합니다.

VBA 매크로를 사용하여 Excel에서 여러 CSV 파일 결합

1단계. 빈 통합 문서 만들기

Excel을 열고 새 통합 문서를 만듭니다. 이 통합 문서는 가져온 모든 워크시트를 저장할 대상 통합 문서가 됩니다.

2단계. VBA 편집기 열기

Alt + F11을 눌러 Visual Basic 편집기를 엽니다.

삽입(Insert) > 모듈(Module)을 선택한 다음, 새 모듈에 다음 코드를 붙여넣습니다.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("CSV 파일이 포함된 폴더 경로를 입력하세요:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "CSV 파일이 성공적으로 병합되었습니다."

End Sub

3단계. 매크로 실행

F5를 누르고 CSV 파일이 있는 폴더를 입력하면 매크로가 자동으로 모든 CSV를 각각의 워크시트로 가져옵니다.

장점

  • 수동 복사보다 훨씬 빠름.
  • Microsoft Excel 내에서 완전히 실행됨.
  • 각 CSV 파일에 대해 자동으로 워크시트 생성.
  • Excel을 정기적으로 사용하는 사용자에게 적합.

단점

  • 매크로 사용 통합 문서가 필요함.
  • 사용자가 VBA 매크로를 활성화해야 함.
  • 무인 자동화나 서버 측 자동화에는 덜 적합함.

방법 3. Spire.XLS를 사용하여 Python에서 여러 CSV 파일 병합하기

반복되는 워크플로우, 예약된 작업 또는 비즈니스 애플리케이션의 경우 프로그래밍 방식의 자동화가 가장 효율적인 솔루션인 경우가 많습니다.

많은 개발자가 CSV 처리를 위해 Pandas를 즉시 떠올립니다. Pandas는 표 형식의 데이터를 읽고, 분석하고, 변환하는 데 탁월한 라이브러리입니다. 그러나 주된 초점은 문서 생성보다는 데이터 분석에 있습니다.

단순히 CSV 파일을 가져오는 것을 넘어 워크시트 서식 지정, 스타일 적용, 차트 삽입, 통합 문서 보호 또는 최종 통합 문서를 PDF로 내보내기와 같은 작업이 필요하다면 Free Spire.XLS for Python과 같은 스프레드시트 라이브러리가 더 완벽한 솔루션을 제공합니다.

먼저 라이브러리를 설치합니다:

pip install Spire.XLS

그런 다음 아래 코드를 사용하여 폴더 내의 모든 CSV 파일을 하나의 Excel 통합 문서로 병합하고, 각 CSV를 별도의 워크시트로 만듭니다.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# 대상 통합 문서 생성
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# 모든 CSV 파일 처리
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

출력:

Python을 사용하여 여러 CSV 파일을 하나의 Excel 통합 문서로 병합

수동 방식이나 VBA와 비교했을 때, 이 방식은 자동화된 워크플로우에 통합하기가 훨씬 쉽습니다. 통합 문서를 생성한 후 Spire.XLS를 사용하여 다음과 같은 작업을 계속할 수 있습니다:

  • 글꼴, 색상, 테두리 및 숫자 형식 적용.
  • 틀 고정 또는 열 너비 자동 조정.
  • 차트 및 피벗 테이블 생성.
  • 워크시트 또는 통합 문서 보호.
  • 완성된 통합 문서를 PDF 또는 기타 형식으로 내보내기.

이러한 기능 덕분에 CSV 병합뿐만 아니라 엔드투엔드 보고서 생성 파이프라인에도 적합합니다.

세 가지 방법 비교

방법 프로그래밍 필요 여부 일괄 처리 최적의 용도
복사 및 붙여넣기 아니요 제한적 CSV 파일이 몇 개뿐인 일회성 작업
VBA 매크로 기본 VBA CSV 파일을 정기적으로 가져오는 Excel 사용자
Python + Free Spire.XLS Python 우수함 자동화된 워크플로우, 비즈니스 애플리케이션 및 일괄 처리

결론

가장 좋은 방법은 해당 작업을 얼마나 자주 수행해야 하는지에 따라 다릅니다.

가끔 몇 개의 CSV 파일만 결합하면 된다면, 데이터를 수동으로 복사하여 별도의 워크시트에 붙여넣는 것이 가장 빠른 해결책입니다.

주로 Excel에서 작업하며 이 작업을 정기적으로 수행한다면, VBA 매크로를 통해 최소한의 노력으로 프로세스를 자동화할 수 있습니다.

반복 가능한 워크플로우를 구축하거나 애플리케이션에 CSV 처리를 통합하는 개발자에게는 Spire.XLS를 사용하는 Python이 가장 큰 유연성을 제공합니다. CSV 파일 병합을 넘어 고급 스프레드시트 조작 및 문서 생성이 가능하므로 다양한 자동화 시나리오에 적합합니다.

자주 묻는 질문(FAQ)

수백 개의 CSV 파일을 하나의 Excel 통합 문서로 병합할 수 있나요?

네. VBA도 많은 파일을 처리할 수 있지만, 매우 큰 일괄 작업이나 자동화된 워크플로우의 경우 Python 솔루션이 일반적으로 더 안정적이고 확장성이 뛰어납니다.

각 CSV 파일이 고유한 워크시트가 되나요?

네. 이 기사에서 설명한 세 가지 방법 모두 모든 데이터를 단일 시트로 결합하는 대신 각 CSV를 별도의 워크시트로 보존합니다.

워크시트 이름을 CSV 파일 이름으로 지정할 수 있나요?

네. VBA 매크로와 Python 예제 모두 자동으로 CSV 파일 이름(확장자 제외)을 워크시트 이름으로 사용합니다.

CSV 파일이 UTF-8 또는 다른 인코딩을 사용하는 경우는 어떻게 하나요?

대부분의 CSV 파일은 문제없이 가져올 수 있습니다. 파일이 다른 인코딩이나 구분 기호를 사용하는 경우, 처리하기 전에 가져오기 설정을 적절히 조정하십시오.

CSV 파일을 병합한 후에도 통합 문서를 계속 편집할 수 있나요?

물론입니다. 통합 문서가 생성된 후에는 다른 Excel 파일과 마찬가지로 워크시트 서식 지정, 차트 삽입, 수식 추가, 통합 문서 보호 또는 PDF로 내보내기가 가능합니다.

참고 항목

Unire più file CSV in un'unica cartella di lavoro Excel

Quando si lavora con report esportati da sistemi diversi, è comune ritrovarsi con decine di file CSV. Ad esempio, ogni reparto, negozio o mese può generare il proprio report CSV. Sebbene ciò renda semplice la raccolta dei dati, gestire un gran numero di file separati diventa rapidamente scomodo.

Una soluzione pratica consiste nel combinare tutti i file CSV in un'unica cartella di lavoro Excel, mantenendo ogni CSV come foglio di lavoro separato. Questo preserva la struttura originale del file, facilita la navigazione e consente di condividere un'unica cartella di lavoro invece di più file individuali.

In questo articolo, presenteremo tre metodi pratici: da un semplice approccio manuale all'automazione di Excel con VBA fino a una soluzione Python completamente programmabile.

Metodi trattati:

Metodo 1. Copiare e incollare i file CSV in fogli di lavoro separati

Se hai solo pochi file CSV da unire, la soluzione più semplice è copiare manualmente i loro contenuti in fogli di lavoro diversi.

Un dettaglio importante è che dovresti aprire ogni file CSV con Microsoft Excel invece di un editor di testo come il Blocco note. Quando un CSV viene aperto in Excel, le sue righe e colonne vengono analizzate correttamente in base al delimitatore. Se copi il testo direttamente dal Blocco note, Excel potrebbe incollare tutto in un'unica colonna invece di separare automaticamente i valori.

Copiare e incollare i file CSV in fogli di lavoro separati

Passaggi

  1. Apri Microsoft Excel e crea una nuova cartella di lavoro.
  2. Apri il primo file CSV utilizzando Excel.
  3. Seleziona tutti i dati (Ctrl + A) e copiali (Ctrl + C).
  4. Torna alla nuova cartella di lavoro e incolla i dati nel primo foglio di lavoro.
  5. Rinomina il foglio di lavoro se necessario.
  6. Ripeti il processo per ogni file CSV rimanente, creando un nuovo foglio di lavoro ogni volta.
  7. Salva la cartella di lavoro come file .xlsx.

Pro

  • Nessuna programmazione richiesta.
  • Funziona in ogni installazione di Excel.
  • Preserva un CSV per foglio di lavoro.
  • Ideale per attività occasionali che coinvolgono solo pochi file.

Contro

  • Richiede molto tempo quando si elaborano molti file.
  • Interamente manuale.
  • Facile commettere errori quando si gestiscono decine di file CSV.

Metodo 2. Utilizzare una macro VBA per importare più file CSV

Se esegui spesso questa attività in Excel, una macro VBA può automatizzare l'intero processo. La macro scansiona una cartella, apre ogni file CSV, copia il suo foglio di lavoro nella cartella di lavoro corrente e assegna al foglio di lavoro il nome del file CSV.

Combinare più file CSV in Excel utilizzando una macro VBA

Passaggio 1. Creare una cartella di lavoro vuota

Apri Excel e crea una nuova cartella di lavoro. Questa diventerà la cartella di lavoro di destinazione che memorizzerà tutti i fogli di lavoro importati.

Passaggio 2. Aprire l'editor VBA

Premi Alt + F11 per aprire l'editor di Visual Basic.

Scegli Inserisci > Modulo, quindi incolla il seguente codice nel nuovo modulo.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Inserisci il percorso della cartella contenente i file CSV:")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "I file CSV sono stati uniti correttamente."

End Sub

Passaggio 3. Eseguire la macro

Premi F5, inserisci la cartella contenente i tuoi file CSV e la macro importerà automaticamente ogni CSV nel proprio foglio di lavoro.

Pro

  • Molto più veloce della copia manuale.
  • Viene eseguita interamente all'interno di Microsoft Excel.
  • Crea automaticamente un foglio di lavoro per ogni file CSV.
  • Adatto agli utenti che lavorano regolarmente con Excel.

Contro

  • Richiede cartelle di lavoro con attivazione macro.
  • Gli utenti devono abilitare le macro VBA.
  • Meno adatto per l'automazione non presidiata o lato server.

Metodo 3. Unire più file CSV in Python utilizzando Spire.XLS

Per flussi di lavoro ricorrenti, processi pianificati o applicazioni aziendali, l'automazione programmatica è spesso la soluzione più efficiente.

Molti sviluppatori pensano immediatamente a Pandas per l'elaborazione di CSV. Pandas è un'ottima libreria per leggere, analizzare e trasformare dati tabulari. Tuttavia, il suo obiettivo principale è l'analisi dei dati piuttosto che la generazione di documenti.

Se il tuo flusso di lavoro va oltre la semplice importazione di file CSV (ad esempio, formattazione di fogli di lavoro, applicazione di stili, inserimento di grafici, protezione di cartelle di lavoro o esportazione della cartella di lavoro finale in PDF), una libreria di fogli di calcolo come Free Spire.XLS for Python fornisce una soluzione più completa.

Per prima cosa, installa la libreria:

pip install Spire.XLS

Quindi utilizza il seguente codice per unire ogni file CSV in una cartella in un'unica cartella di lavoro Excel, con ogni CSV che diventa un foglio di lavoro separato.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Crea la cartella di lavoro di destinazione
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Elabora ogni file CSV
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Output:

Unire più file CSV in un'unica cartella di lavoro Excel utilizzando Python

Rispetto ai metodi manuali o VBA, questo approccio è molto più facile da integrare in flussi di lavoro automatizzati. Dopo aver generato la cartella di lavoro, puoi continuare a elaborarla con Spire.XLS, ad esempio:

  • Applicare caratteri, colori, bordi e formati numerici.
  • Bloccare i riquadri o regolare automaticamente la larghezza delle colonne.
  • Creare grafici e tabelle pivot.
  • Proteggere fogli di lavoro o la cartella di lavoro.
  • Esportare la cartella di lavoro completata in PDF o altri formati.

Queste funzionalità la rendono adatta non solo per l'unione di CSV, ma anche per pipeline di generazione di report end-to-end.

Confronto dei tre metodi

Metodo Programmazione richiesta Elaborazione batch Ideale per
Copia e incolla No Limitata Attività una tantum con pochi file CSV
Macro VBA VBA di base Utenti Excel che importano regolarmente file CSV
Python + Free Spire.XLS Python Eccellente Flussi di lavoro automatizzati, applicazioni aziendali ed elaborazione batch

Conclusione

Il metodo migliore dipende da quanto spesso devi eseguire l'attività.

Se devi solo combinare pochi file CSV occasionalmente, copiare e incollare manualmente i dati in fogli di lavoro separati è la soluzione più rapida.

Se lavori principalmente in Excel ed esegui questa attività regolarmente, una macro VBA può automatizzare il processo con il minimo sforzo.

Per gli sviluppatori che creano flussi di lavoro ripetibili o integrano l'elaborazione CSV nelle applicazioni, Python con Spire.XLS offre la massima flessibilità. Oltre all'unione di file CSV, consente una manipolazione avanzata dei fogli di calcolo e la generazione di documenti, rendendolo adatto a una vasta gamma di scenari di automazione.

Domande frequenti (FAQ)

Posso unire centinaia di file CSV in un'unica cartella di lavoro Excel?

Sì. VBA può gestire molti file, ma per batch molto grandi o flussi di lavoro automatizzati, una soluzione Python è generalmente più affidabile e scalabile.

Ogni file CSV diventerà il proprio foglio di lavoro?

Sì. Tutti e tre i metodi descritti in questo articolo preservano ogni CSV come foglio di lavoro separato invece di combinare tutti i dati in un unico foglio.

I nomi dei fogli di lavoro possono essere basati sui nomi dei file CSV?

Sì. Sia la macro VBA che l'esempio Python utilizzano automaticamente il nome del file CSV (senza estensione) come nome del foglio di lavoro.

Cosa succede se i miei file CSV utilizzano UTF-8 o altre codifiche?

La maggior parte dei file CSV può essere importata senza problemi. Se i tuoi file utilizzano una codifica o un delimitatore diverso, regola le impostazioni di importazione di conseguenza prima dell'elaborazione.

Posso continuare a modificare la cartella di lavoro dopo aver unito i file CSV?

Assolutamente sì. Dopo aver creato la cartella di lavoro, puoi formattare i fogli di lavoro, inserire grafici, aggiungere formule, proteggere la cartella di lavoro o esportarla in PDF proprio come qualsiasi altro file Excel.

Vedi anche

Fusionner plusieurs fichiers CSV dans un seul classeur Excel

Lorsque vous travaillez avec des rapports exportés depuis différents systèmes, il est courant de se retrouver avec des dizaines de fichiers CSV. Par exemple, chaque département, magasin ou mois peut générer son propre rapport CSV. Bien que cela facilite la collecte de données, la gestion d'un grand nombre de fichiers séparés devient rapidement fastidieuse.

Une solution pratique consiste à combiner tous les fichiers CSV dans un seul classeur Excel, tout en conservant chaque CSV dans une feuille de calcul distincte. Cela préserve la structure originale des fichiers, facilite la navigation et vous permet de partager un seul classeur au lieu de plusieurs fichiers individuels.

Dans cet article, nous présenterons trois méthodes pratiques, allant d'une approche manuelle simple à l'automatisation Excel avec VBA et une solution entièrement programmatique en Python.

Méthodes couvertes :

Méthode 1. Copier et coller des fichiers CSV dans des feuilles de calcul distinctes

Si vous n'avez que quelques fichiers CSV à fusionner, la solution la plus simple consiste à copier manuellement leur contenu dans différentes feuilles de calcul.

Un détail important est que vous devez ouvrir chaque fichier CSV avec Microsoft Excel plutôt qu'avec un éditeur de texte tel que le Bloc-notes. Lorsqu'un CSV est ouvert dans Excel, ses lignes et colonnes sont analysées correctement en fonction du délimiteur. Si vous copiez le texte directement depuis le Bloc-notes, Excel risque de coller tout le contenu dans une seule colonne au lieu de séparer les valeurs automatiquement.

Copier et coller des fichiers CSV dans des feuilles de calcul distinctes

Étapes

  1. Ouvrez Microsoft Excel et créez un nouveau classeur.
  2. Ouvrez le premier fichier CSV en utilisant Excel.
  3. Sélectionnez toutes les données (Ctrl + A) et copiez-les (Ctrl + C).
  4. Revenez au nouveau classeur et collez les données dans la première feuille de calcul.
  5. Renommez la feuille de calcul si nécessaire.
  6. Répétez le processus pour chaque fichier CSV restant, en créant une nouvelle feuille de calcul à chaque fois.
  7. Enregistrez le classeur en tant que fichier .xlsx.

Avantages

  • Aucune programmation requise.
  • Fonctionne sur toutes les installations d'Excel.
  • Préserve un CSV par feuille de calcul.
  • Idéal pour les tâches occasionnelles impliquant seulement quelques fichiers.

Inconvénients

  • Chronophage lors du traitement de nombreux fichiers.
  • Entièrement manuel.
  • Risque d'erreurs lors de la manipulation de dizaines de fichiers CSV.

Méthode 2. Utiliser une macro VBA pour importer plusieurs fichiers CSV

Si vous effectuez fréquemment cette tâche dans Excel, une macro VBA peut automatiser l'ensemble du processus. La macro analyse un dossier, ouvre chaque fichier CSV, copie sa feuille de calcul dans le classeur actuel et nomme la feuille d'après le nom du fichier CSV.

Combiner plusieurs fichiers CSV dans Excel à l'aide d'une macro VBA

Étape 1. Créer un classeur vierge

Ouvrez Excel et créez un nouveau classeur. Ce classeur deviendra le classeur de destination qui stockera toutes les feuilles de calcul importées.

Étape 2. Ouvrir l'éditeur VBA

Appuyez sur Alt + F11 pour ouvrir l'éditeur Visual Basic.

Choisissez Insertion > Module, puis collez le code suivant dans le nouveau module.

Sub MergeCSVFilesToSheets()

    Dim folderPath As String
    Dim fileName As String
    Dim wbCSV As Workbook
    Dim ws As Worksheet
    Dim targetWb As Workbook
    Dim sheetName As String

    Set targetWb = ThisWorkbook

    folderPath = InputBox("Entrez le chemin du dossier contenant les fichiers CSV :")

    If Right(folderPath, 1) <> "\" Then
        folderPath = folderPath & "\"
    End If

    fileName = Dir(folderPath & "*.csv")

    Application.ScreenUpdating = False

    Do While fileName <> ""

        Workbooks.Open folderPath & fileName
        Set wbCSV = ActiveWorkbook

        sheetName = Left(fileName, InStrRev(fileName, ".") - 1)

        wbCSV.Worksheets(1).Copy After:=targetWb.Sheets(targetWb.Sheets.Count)
        Set ws = targetWb.Sheets(targetWb.Sheets.Count)

        On Error Resume Next
        ws.Name = Left(sheetName, 31)
        On Error GoTo 0

        wbCSV.Close SaveChanges:=False

        fileName = Dir
    Loop

    Application.ScreenUpdating = True

    MsgBox "Les fichiers CSV ont été fusionnés avec succès."

End Sub

Étape 3. Exécuter la macro

Appuyez sur F5, entrez le dossier contenant vos fichiers CSV, et la macro importera automatiquement chaque CSV dans sa propre feuille de calcul.

Avantages

  • Beaucoup plus rapide que la copie manuelle.
  • S'exécute entièrement dans Microsoft Excel.
  • Crée automatiquement une feuille de calcul pour chaque fichier CSV.
  • Adapté aux utilisateurs qui travaillent régulièrement avec Excel.

Inconvénients

  • Nécessite des classeurs prenant en charge les macros.
  • Les utilisateurs doivent activer les macros VBA.
  • Moins adapté à une automatisation sans surveillance ou côté serveur.

Méthode 3. Fusionner plusieurs fichiers CSV en Python avec Spire.XLS

Pour les flux de travail récurrents, les tâches planifiées ou les applications métier, l'automatisation par programmation est souvent la solution la plus efficace.

De nombreux développeurs pensent immédiatement à Pandas pour le traitement CSV. Pandas est une excellente bibliothèque pour lire, analyser et transformer des données tabulaires. Cependant, son objectif principal est l'analyse de données plutôt que la génération de documents.

Si votre flux de travail va au-delà de la simple importation de fichiers CSV — par exemple, le formatage des feuilles de calcul, l'application de styles, l'insertion de graphiques, la protection des classeurs ou l'exportation du classeur final en PDF — une bibliothèque de feuilles de calcul telle que Free Spire.XLS for Python offre une solution plus complète.

Tout d'abord, installez la bibliothèque :

pip install Spire.XLS

Utilisez ensuite le code suivant pour fusionner chaque fichier CSV d'un dossier dans un seul classeur Excel, chaque CSV devenant une feuille de calcul distincte.

import os
from spire.xls import Workbook, WorksheetCopyType, FileFormat

input_folder = "input"
output_folder = "output"

# Créer le classeur de destination
merged_workbook = Workbook()
merged_workbook.Worksheets.Clear()

# Traiter chaque fichier CSV
for csv_file in os.listdir(input_folder):
    if csv_file.endswith(".csv"):

        input_path = os.path.join(input_folder, csv_file)

        workbook = Workbook()
        workbook.LoadFromFile(input_path, ",", 1, 1)

        sheet = workbook.Worksheets[0]
        merged_workbook.Worksheets.AddCopy(
            sheet,
            WorksheetCopyType.CopyAll
        )

merged_workbook.SaveToFile(
    os.path.join(output_folder, "Merged.xlsx"),
    FileFormat.Version2013
)

Résultat :

Fusionner plusieurs fichiers CSV dans un seul classeur Excel en utilisant Python

Comparée aux méthodes manuelles ou VBA, cette approche est beaucoup plus facile à intégrer dans des flux de travail automatisés. Après avoir généré le classeur, vous pouvez continuer à le traiter avec Spire.XLS — par exemple :

  • Appliquer des polices, des couleurs, des bordures et des formats numériques.
  • Figer les volets ou ajuster automatiquement la largeur des colonnes.
  • Créer des graphiques et des tableaux croisés dynamiques.
  • Protéger les feuilles de calcul ou le classeur.
  • Exporter le classeur terminé en PDF ou dans d'autres formats.

Ces capacités le rendent adapté non seulement à la fusion de CSV, mais aussi aux pipelines de génération de rapports de bout en bout.

Comparaison des trois méthodes

Méthode Programmation requise Traitement par lots Idéal pour
Copier-coller Non Limité Tâches ponctuelles avec seulement quelques fichiers CSV
Macro VBA VBA de base Oui Utilisateurs Excel qui importent régulièrement des fichiers CSV
Python + Free Spire.XLS Python Excellent Flux de travail automatisés, applications métier et traitement par lots

Conclusion

La meilleure méthode dépend de la fréquence à laquelle vous devez effectuer la tâche.

Si vous n'avez besoin de combiner que quelques fichiers CSV occasionnellement, copier et coller manuellement les données dans des feuilles de calcul distinctes est la solution la plus rapide.

Si vous travaillez principalement dans Excel et effectuez cette tâche régulièrement, une macro VBA peut automatiser le processus avec un effort minimal.

Pour les développeurs qui construisent des flux de travail répétables ou qui intègrent le traitement CSV dans des applications, Python avec Spire.XLS offre la plus grande flexibilité. Au-delà de la fusion de fichiers CSV, il permet une manipulation avancée des feuilles de calcul et une génération de documents, ce qui le rend adapté à un large éventail de scénarios d'automatisation.

FAQ

Puis-je fusionner des centaines de fichiers CSV dans un seul classeur Excel ?

Oui. VBA peut gérer de nombreux fichiers, mais pour de très grands lots ou des flux de travail automatisés, une solution Python est généralement plus fiable et évolutive.

Chaque fichier CSV deviendra-t-il sa propre feuille de calcul ?

Oui. Les trois méthodes décrites dans cet article conservent chaque CSV comme une feuille de calcul distincte au lieu de combiner toutes les données dans une seule feuille.

Les noms des feuilles de calcul peuvent-ils être basés sur les noms des fichiers CSV ?

Oui. La macro VBA et l'exemple Python utilisent automatiquement le nom du fichier CSV (sans l'extension) comme nom de feuille de calcul.

Que faire si mes fichiers CSV utilisent l'encodage UTF-8 ou d'autres encodages ?

La plupart des fichiers CSV peuvent être importés sans problème. Si vos fichiers utilisent un encodage ou un délimiteur différent, ajustez les paramètres d'importation en conséquence avant le traitement.

Puis-je continuer à modifier le classeur après avoir fusionné les fichiers CSV ?

Absolument. Une fois le classeur créé, vous pouvez formater les feuilles de calcul, insérer des graphiques, ajouter des formules, protéger le classeur ou l'exporter en PDF comme n'importe quel autre fichier Excel.

Voir aussi