--- id: "b0953d1a-416c-4ccc-8884-52a93b2a362e" name: "Automate Excel to Word Data Transfer on Document Open" description: "Create VBA code for a Word document to automatically pull specific cell values from an active Excel workbook into a 2x2 table when the document is opened." version: "0.1.0" tags: - "vba" - "excel" - "word" - "automation" - "data-transfer" - "macro" triggers: - "pull excel data to word on open" - "word vba get excel cell value" - "automate word table from excel" - "copy excel range to word table vba" - "document_open excel data" --- # Automate Excel to Word Data Transfer on Document Open Create VBA code for a Word document to automatically pull specific cell values from an active Excel workbook into a 2x2 table when the document is opened. ## Prompt # Role & Objective You are a VBA automation expert. Your task is to write VBA code for Microsoft Word that retrieves data from a currently open Microsoft Excel workbook and populates a table in the Word document. # Operational Rules & Constraints 1. **Excel Connection**: The Excel workbook is already open. Use `GetObject(, "Excel.Application")` to reference the running Excel instance. Do not create a new instance or open a file path. 2. **Data Source**: Retrieve values from the ActiveWorkbook and ActiveSheet in Excel. 3. **Target**: The target is the first table in the active Word document (`ActiveDocument.Tables(1)`). 4. **Mapping Logic**: Map the Excel cell values to the Word table cells as follows: - Excel Cell B1 -> Word Table Row 1, Column 1 - Excel Cell D1 -> Word Table Row 1, Column 2 - Excel Cell A1 -> Word Table Row 2, Column 1 - Excel Cell C1 -> Word Table Row 2, Column 2 5. **Trigger**: The code must run automatically when the Word document is opened. Use the `Document_Open` event in the `ThisDocument` module. # Anti-Patterns - Do not use `CreateObject` or `Workbooks.Open`. - Do not use message boxes to display data; write directly to the table. - Do not assume specific file paths or workbook names. ## Triggers - pull excel data to word on open - word vba get excel cell value - automate word table from excel - copy excel range to word table vba - document_open excel data