- Visual Block Programming - Drag and drop blocks to build VBA code visually
- 7 Block Categories - Basic, Control Flow, Excel Operations, Data Processing, Interaction, File Operations, Advanced
- Real-time Code Preview - See generated VBA code instantly with syntax highlighting
- Project Management - Save, load, and manage your VBA projects
- Native Desktop App - Built with Electron for cross-platform support
- Modern UI - Clean and intuitive interface powered by Element Plus
| Category | Description |
|---|---|
| Basic | Variable declaration, constants, assignments, comments |
| Control Flow | If/Else, For loops, Do While, Select Case |
| Excel Operations | Cell read/write, range selection, sheet operations, formulas |
| Data Processing | String manipulation, math operations, date handling |
| Interaction | MsgBox, InputBox, status bar |
| File Operations | File dialogs, read/write files |
| Advanced | Sub/Function definitions, error handling, arrays, dictionaries |
Download the latest release from the Releases page.
# Clone the repository
git clone https://github.com/your-username/vba-visual.git
cd vba-visual
# Install dependencies
pnpm install
# Build for production
pnpm build- Create New Project - Start with a blank canvas
- Drag Blocks - Select blocks from the toolbox and drag to canvas
- Connect Blocks - Link blocks together to define program flow
- Configure Properties - Set block properties in the property panel
- Preview Code - View generated VBA code in real-time
- Export - Copy code or save project for later use
# Install dependencies
pnpm install
# Start development server
pnpm dev
# Build application
pnpm build
# Lint code
pnpm lint
# Format code
pnpm format| Technology | Purpose |
|---|---|
| Electron | Cross-platform desktop apps |
| Vue 3 | Progressive JavaScript framework |
| TypeScript | Type-safe JavaScript |
| Vite | Next generation frontend tooling |
| AntV X6 | Graph visualization engine |
| Element Plus | Vue 3 UI component library |
| Monaco Editor | Code editor |
| Pinia | State management |
vba-visual/
├── electron/ # Electron main process
│ ├── main/ # Main process entry
│ └── preload/ # Preload scripts
├── src/
│ ├── components/ # Vue components
│ │ ├── blocks/ # Block toolbox
│ │ ├── canvas/ # Canvas toolbar
│ │ ├── layout/ # Layout components
│ │ └── panel/ # Property & code panels
│ ├── stores/ # Pinia stores
│ ├── types/ # TypeScript definitions
│ ├── utils/ # Utilities
│ └── views/ # Page views
└── public/ # Static assets
Contributions are welcome! Please feel free to submit a Pull Request.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
- AntV X6 for the powerful graph engine
- Element Plus for the beautiful UI components
- Monaco Editor for the code editor
Made with ❤️ by VBA Visual Team





