{"id":1271,"date":"2026-03-03T01:05:54","date_gmt":"2026-03-02T16:05:54","guid":{"rendered":"https:\/\/www.funterra-kids.com\/?page_id=1271"},"modified":"2026-03-03T01:19:35","modified_gmt":"2026-03-02T16:19:35","slug":"coding%e7%b7%b4%e7%bf%92%e5%95%8f%e9%a1%8c%ef%bc%88visualbasic%e5%9f%ba%e7%a4%8e%ef%bc%89","status":"publish","type":"page","link":"https:\/\/www.funterra-kids.com\/?page_id=1271","title":{"rendered":"Coding\u7df4\u7fd2\u554f\u984c\uff08VisualBasic\u57fa\u790e\uff09"},"content":{"rendered":"\n<!DOCTYPE html>\n<html lang=\"ja\">\n<head>\n<meta charset=\"UTF-8\">\n<meta name=\"viewport\" content=\"width=device-width, initial-scale=1.0\">\n<title>VB\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u2605\u30ad\u30c3\u30ba<\/title>\n<link href=\"https:\/\/fonts.googleapis.com\/css2?family=Nunito:wght@400;700;900&#038;family=M+PLUS+Rounded+1c:wght@400;700;900&#038;display=swap\" rel=\"stylesheet\">\n<style>\n  :root {\n    --sky: #6EC6FF;\n    --sun: #FFD93D;\n    --grass: #6BCB77;\n    --coral: #FF6B6B;\n    --purple: #C77DFF;\n    --bg: #F0F9FF;\n    --card: #FFFFFF;\n    --text: #2D3748;\n    --code-bg: #1E1E3F;\n    --code-text: #E2E8F0;\n    --keyword: #FF79C6;\n    --string: #6BE5BA;\n    --number: #FFD93D;\n    --comment: #7C8DB5;\n  }\n\n  * { margin: 0; padding: 0; box-sizing: border-box; }\n\n  body {\n    font-family: 'M PLUS Rounded 1c', sans-serif;\n    background: var(--bg);\n    color: var(--text);\n    min-height: 100vh;\n    background-image: \n      radial-gradient(circle at 10% 20%, rgba(110,198,255,0.3) 0%, transparent 50%),\n      radial-gradient(circle at 90% 80%, rgba(199,125,255,0.2) 0%, transparent 50%);\n  }\n\n  header {\n    background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);\n    padding: 16px 24px;\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    box-shadow: 0 4px 20px rgba(102,126,234,0.4);\n  }\n\n  header .logo {\n    font-size: 2rem;\n    filter: drop-shadow(0 2px 4px rgba(0,0,0,0.3));\n  }\n\n  header h1 {\n    font-family: 'Nunito', sans-serif;\n    font-weight: 900;\n    font-size: 1.6rem;\n    color: white;\n    text-shadow: 0 2px 4px rgba(0,0,0,0.2);\n  }\n\n  header p {\n    font-size: 0.85rem;\n    color: rgba(255,255,255,0.8);\n  }\n\n  .badge {\n    margin-left: auto;\n    background: var(--sun);\n    color: #7B5800;\n    font-weight: 900;\n    font-size: 0.8rem;\n    padding: 4px 12px;\n    border-radius: 999px;\n    box-shadow: 0 2px 8px rgba(255,217,61,0.5);\n  }\n\n  .container {\n    max-width: 1100px;\n    margin: 0 auto;\n    padding: 24px 16px;\n    display: grid;\n    grid-template-columns: 280px 1fr;\n    gap: 20px;\n  }\n\n  \/* Sidebar - Lessons *\/\n  .sidebar {\n    display: flex;\n    flex-direction: column;\n    gap: 12px;\n  }\n\n  .sidebar h2 {\n    font-size: 1rem;\n    font-weight: 900;\n    color: #553C9A;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    padding: 0 4px;\n  }\n\n  .lesson-card {\n    background: white;\n    border-radius: 16px;\n    padding: 14px 16px;\n    cursor: pointer;\n    border: 3px solid transparent;\n    transition: all 0.2s;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.06);\n    display: flex;\n    align-items: center;\n    gap: 12px;\n  }\n\n  .lesson-card:hover {\n    transform: translateY(-2px);\n    box-shadow: 0 6px 20px rgba(0,0,0,0.1);\n  }\n\n  .lesson-card.active {\n    border-color: #667eea;\n    background: linear-gradient(135deg, #f0f4ff, #faf5ff);\n  }\n\n  .lesson-icon {\n    font-size: 1.8rem;\n    width: 44px;\n    height: 44px;\n    display: flex;\n    align-items: center;\n    justify-content: center;\n    background: var(--bg);\n    border-radius: 12px;\n    flex-shrink: 0;\n  }\n\n  .lesson-card.active .lesson-icon {\n    background: linear-gradient(135deg, #667eea, #764ba2);\n    filter: grayscale(0);\n  }\n\n  .lesson-info { flex: 1; }\n  .lesson-title { font-weight: 700; font-size: 0.9rem; color: var(--text); }\n  .lesson-subtitle { font-size: 0.75rem; color: #888; margin-top: 2px; }\n\n  .lesson-badge {\n    font-size: 0.65rem;\n    padding: 2px 8px;\n    border-radius: 999px;\n    font-weight: 700;\n  }\n  .badge-easy { background: #C6F6D5; color: #276749; }\n  .badge-medium { background: #FEFCBF; color: #744210; }\n  .badge-hard { background: #FED7D7; color: #742A2A; }\n\n  \/* Main editor area *\/\n  .main { display: flex; flex-direction: column; gap: 16px; }\n\n  .lesson-header {\n    background: white;\n    border-radius: 20px;\n    padding: 20px 24px;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.06);\n    border-left: 6px solid #667eea;\n  }\n\n  .lesson-header h2 {\n    font-size: 1.3rem;\n    font-weight: 900;\n    color: #553C9A;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .lesson-desc {\n    margin-top: 8px;\n    font-size: 0.9rem;\n    color: #555;\n    line-height: 1.6;\n  }\n\n  .hint-box {\n    margin-top: 12px;\n    background: #FFF9E6;\n    border: 2px dashed var(--sun);\n    border-radius: 12px;\n    padding: 10px 14px;\n    font-size: 0.85rem;\n    color: #7B5800;\n    display: flex;\n    gap: 8px;\n    align-items: flex-start;\n  }\n\n  \/* Editor *\/\n  .editor-section {\n    background: var(--code-bg);\n    border-radius: 20px;\n    overflow: hidden;\n    box-shadow: 0 8px 30px rgba(30,30,63,0.3);\n  }\n\n  .editor-toolbar {\n    background: #2D2D5B;\n    padding: 10px 16px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n  }\n\n  .editor-toolbar .dots {\n    display: flex;\n    gap: 6px;\n  }\n\n  .dot {\n    width: 12px;\n    height: 12px;\n    border-radius: 50%;\n  }\n  .dot-r { background: #FF5F57; }\n  .dot-y { background: #FEBC2E; }\n  .dot-g { background: #28C840; }\n\n  .editor-toolbar span {\n    margin-left: 8px;\n    font-size: 0.8rem;\n    color: rgba(255,255,255,0.5);\n    font-family: 'Courier New', monospace;\n  }\n\n  .run-btn {\n    margin-left: auto;\n    background: linear-gradient(135deg, var(--grass), #4CAF50);\n    color: white;\n    border: none;\n    padding: 8px 20px;\n    border-radius: 10px;\n    font-family: 'M PLUS Rounded 1c', sans-serif;\n    font-weight: 700;\n    font-size: 0.9rem;\n    cursor: pointer;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    transition: all 0.2s;\n    box-shadow: 0 2px 8px rgba(107,203,119,0.4);\n  }\n\n  .run-btn:hover { transform: scale(1.05); filter: brightness(1.1); }\n  .run-btn:active { transform: scale(0.97); }\n\n  .clear-btn {\n    background: rgba(255,255,255,0.1);\n    color: rgba(255,255,255,0.7);\n    border: 1px solid rgba(255,255,255,0.2);\n    padding: 8px 14px;\n    border-radius: 10px;\n    font-family: 'M PLUS Rounded 1c', sans-serif;\n    font-weight: 700;\n    font-size: 0.85rem;\n    cursor: pointer;\n    transition: all 0.2s;\n  }\n  .clear-btn:hover { background: rgba(255,255,255,0.15); }\n\n  .code-editor {\n    width: 100%;\n    min-height: 220px;\n    background: var(--code-bg);\n    color: var(--code-text);\n    border: none;\n    outline: none;\n    padding: 16px 20px;\n    font-family: 'Courier New', Courier, monospace;\n    font-size: 1rem;\n    line-height: 1.7;\n    resize: vertical;\n    tab-size: 4;\n  }\n\n  \/* Output *\/\n  .output-section {\n    background: white;\n    border-radius: 20px;\n    overflow: hidden;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.06);\n  }\n\n  .output-header {\n    background: linear-gradient(135deg, #2D3748, #4A5568);\n    padding: 10px 16px;\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    color: white;\n    font-weight: 700;\n    font-size: 0.9rem;\n  }\n\n  .output-body {\n    padding: 16px 20px;\n    min-height: 100px;\n    font-family: 'Courier New', monospace;\n    font-size: 0.95rem;\n    line-height: 1.8;\n    color: #1A202C;\n    white-space: pre-wrap;\n    background: #F7FAFC;\n  }\n\n  .output-body.error { color: var(--coral); }\n  .output-body.success { color: #276749; }\n\n  \/* Status bar *\/\n  .status-bar {\n    background: white;\n    border-radius: 14px;\n    padding: 12px 20px;\n    display: flex;\n    align-items: center;\n    gap: 10px;\n    box-shadow: 0 2px 8px rgba(0,0,0,0.05);\n    font-size: 0.85rem;\n  }\n\n  .status-indicator {\n    width: 10px;\n    height: 10px;\n    border-radius: 50%;\n    background: #CBD5E0;\n  }\n  .status-indicator.running { background: var(--sun); animation: pulse 1s infinite; }\n  .status-indicator.success { background: var(--grass); }\n  .status-indicator.error { background: var(--coral); }\n\n  @keyframes pulse {\n    0%, 100% { opacity: 1; }\n    50% { opacity: 0.4; }\n  }\n\n  \/* Cheat sheet *\/\n  .cheatsheet {\n    background: white;\n    border-radius: 20px;\n    padding: 16px 20px;\n    box-shadow: 0 2px 12px rgba(0,0,0,0.06);\n  }\n\n  .cheatsheet h3 {\n    font-size: 0.95rem;\n    font-weight: 900;\n    color: #553C9A;\n    margin-bottom: 12px;\n    display: flex;\n    align-items: center;\n    gap: 6px;\n  }\n\n  .cheat-grid {\n    display: grid;\n    grid-template-columns: 1fr 1fr;\n    gap: 6px;\n  }\n\n  .cheat-item {\n    background: #F7F3FF;\n    border-radius: 8px;\n    padding: 6px 10px;\n    font-size: 0.78rem;\n  }\n\n  .cheat-item code {\n    font-family: 'Courier New', monospace;\n    color: #553C9A;\n    font-weight: 700;\n  }\n\n  .cheat-item .desc { color: #666; margin-top: 2px; }\n\n  \/* Achievement popup *\/\n  .achievement {\n    position: fixed;\n    top: 20px;\n    right: 20px;\n    background: white;\n    border-radius: 16px;\n    padding: 16px 20px;\n    box-shadow: 0 8px 30px rgba(0,0,0,0.15);\n    display: flex;\n    align-items: center;\n    gap: 12px;\n    transform: translateX(200%);\n    transition: transform 0.4s cubic-bezier(0.34, 1.56, 0.64, 1);\n    z-index: 100;\n    border-left: 5px solid var(--sun);\n    max-width: 300px;\n  }\n\n  .achievement.show { transform: translateX(0); }\n  .achievement .ach-icon { font-size: 2rem; }\n  .achievement .ach-title { font-weight: 900; font-size: 0.9rem; color: #553C9A; }\n  .achievement .ach-msg { font-size: 0.8rem; color: #666; margin-top: 2px; }\n\n  @media (max-width: 768px) {\n    .container { grid-template-columns: 1fr; }\n  }\n<\/style>\n<\/head>\n<body>\n\n<header>\n  <div class=\"logo\">\ud83d\ude80<\/div>\n  <div>\n    <h1>VB\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u2605\u30ad\u30c3\u30ba<\/h1>\n    <p>\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u3092\u697d\u3057\u304f\u5b66\u307c\u3046\uff01<\/p>\n  <\/div>\n  <div class=\"badge\">\u2b50 \u521d\u5fc3\u8005\u5411\u3051<\/div>\n<\/header>\n\n<div class=\"container\">\n  <!-- Sidebar -->\n  <div class=\"sidebar\">\n    <h2>\ud83d\udcda \u30ec\u30c3\u30b9\u30f3\u4e00\u89a7<\/h2>\n    <div class=\"lesson-card active\" onclick=\"loadLesson(0)\">\n      <div class=\"lesson-icon\">\ud83d\udc4b<\/div>\n      <div class=\"lesson-info\">\n        <div class=\"lesson-title\">\u306f\u3058\u3081\u3066\u306eVB<\/div>\n        <div class=\"lesson-subtitle\">Print \u3067\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a<\/div>\n      <\/div>\n      <span class=\"lesson-badge badge-easy\">\u304b\u3093\u305f\u3093<\/span>\n    <\/div>\n    <div class=\"lesson-card\" onclick=\"loadLesson(1)\">\n      <div class=\"lesson-icon\">\ud83d\udd22<\/div>\n      <div class=\"lesson-info\">\n        <div class=\"lesson-title\">\u5909\u6570\u3092\u4f7f\u304a\u3046<\/div>\n        <div class=\"lesson-subtitle\">Dim \u3067\u5909\u6570\u3092\u4f5c\u308b<\/div>\n      <\/div>\n      <span class=\"lesson-badge badge-easy\">\u304b\u3093\u305f\u3093<\/span>\n    <\/div>\n    <div class=\"lesson-card\" onclick=\"loadLesson(2)\">\n      <div class=\"lesson-icon\">\ud83d\udd01<\/div>\n      <div class=\"lesson-info\">\n        <div class=\"lesson-title\">\u304f\u308a\u304b\u3048\u3057<\/div>\n        <div class=\"lesson-subtitle\">For \u30eb\u30fc\u30d7\u3067\u7e70\u308a\u8fd4\u3059<\/div>\n      <\/div>\n      <span class=\"lesson-badge badge-medium\">\u3075\u3064\u3046<\/span>\n    <\/div>\n    <div class=\"lesson-card\" onclick=\"loadLesson(3)\">\n      <div class=\"lesson-icon\">\u2753<\/div>\n      <div class=\"lesson-info\">\n        <div class=\"lesson-title\">\u3082\u3057\u301c\u306a\u3089\u3070<\/div>\n        <div class=\"lesson-subtitle\">If \u3067\u6761\u4ef6\u5206\u5c90<\/div>\n      <\/div>\n      <span class=\"lesson-badge badge-medium\">\u3075\u3064\u3046<\/span>\n    <\/div>\n    <div class=\"lesson-card\" onclick=\"loadLesson(4)\">\n      <div class=\"lesson-icon\">\ud83c\udfb2<\/div>\n      <div class=\"lesson-info\">\n        <div class=\"lesson-title\">\u6570\u5f53\u3066\u30b2\u30fc\u30e0<\/div>\n        <div class=\"lesson-subtitle\">\u7dcf\u5408\u554f\u984c<\/div>\n      <\/div>\n      <span class=\"lesson-badge badge-hard\">\u3080\u305a\u304b\u3057\u3044<\/span>\n    <\/div>\n\n    <!-- Cheatsheet -->\n    <div class=\"cheatsheet\" style=\"margin-top:8px;\">\n      <h3>\ud83d\udcd6 \u30b3\u30de\u30f3\u30c9\u4e00\u89a7<\/h3>\n      <div class=\"cheat-grid\">\n        <div class=\"cheat-item\">\n          <code>Print \"...\"<\/code>\n          <div class=\"desc\">\u6587\u5b57\u3092\u8868\u793a<\/div>\n        <\/div>\n        <div class=\"cheat-item\">\n          <code>Dim x As Integer<\/code>\n          <div class=\"desc\">\u5909\u6570\u3092\u4f5c\u308b<\/div>\n        <\/div>\n        <div class=\"cheat-item\">\n          <code>For i = 1 To 5<\/code>\n          <div class=\"desc\">\u7e70\u308a\u8fd4\u3059<\/div>\n        <\/div>\n        <div class=\"cheat-item\">\n          <code>If x > 0 Then<\/code>\n          <div class=\"desc\">\u6761\u4ef6\u3067\u5206\u5c90<\/div>\n        <\/div>\n        <div class=\"cheat-item\">\n          <code>x = x + 1<\/code>\n          <div class=\"desc\">\u8a08\u7b97\u3059\u308b<\/div>\n        <\/div>\n        <div class=\"cheat-item\">\n          <code>Rnd()<\/code>\n          <div class=\"desc\">\u4e71\u6570\u3092\u751f\u6210<\/div>\n        <\/div>\n      <\/div>\n    <\/div>\n  <\/div>\n\n  <!-- Main area -->\n  <div class=\"main\">\n    <!-- Lesson info -->\n    <div class=\"lesson-header\">\n      <h2 id=\"lesson-title\">\ud83d\udc4b \u306f\u3058\u3081\u3066\u306eVB<\/h2>\n      <div class=\"lesson-desc\" id=\"lesson-desc\">\n        <b>Print<\/b> \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3046\u3068\u3001\u753b\u9762\u306b\u6587\u5b57\u3084\u6570\u5b57\u3092\u8868\u793a\u3067\u304d\u307e\u3059\uff01<br>\n        \u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3001\u4f55\u304c\u8d77\u304d\u308b\u304b\u898b\u3066\u307f\u3088\u3046\u3002\u6587\u5b57\u3092\u5909\u3048\u3066\u8a66\u3057\u3066\u307f\u3066\u3082\u3044\u3044\u3088\uff01\n      <\/div>\n      <div class=\"hint-box\">\n        \ud83d\udca1 <span id=\"lesson-hint\">\u30d2\u30f3\u30c8: Print \u306e\u5f8c\u306b\u8868\u793a\u3057\u305f\u3044\u6587\u5b57\u3092 <b>&#8220;\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3&#8221;<\/b> \u3067\u56f2\u3082\u3046<\/span>\n      <\/div>\n    <\/div>\n\n    <!-- Editor -->\n    <div class=\"editor-section\">\n      <div class=\"editor-toolbar\">\n        <div class=\"dots\">\n          <div class=\"dot dot-r\"><\/div>\n          <div class=\"dot dot-y\"><\/div>\n          <div class=\"dot dot-g\"><\/div>\n        <\/div>\n        <span>program.vb<\/span>\n        <button class=\"clear-btn\" onclick=\"clearEditor()\">\ud83d\uddd1\ufe0f \u30af\u30ea\u30a2<\/button>\n        <button class=\"run-btn\" onclick=\"runCode()\">\u25b6 \u5b9f\u884c\u3059\u308b<\/button>\n      <\/div>\n      <textarea class=\"code-editor\" id=\"code-editor\" spellcheck=\"false\" placeholder=\"\u3053\u3053\u306b\u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u306d...\">Sub Main()\n    Print &#8220;\u3053\u3093\u306b\u3061\u306f\u3001\u4e16\u754c\uff01&#8221;\n    Print &#8220;\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u697d\u3057\u3044\uff01&#8221;\n    Print &#8220;VB\u3092\u59cb\u3081\u3088\u3046\uff01&#8221;\nEnd Sub<\/textarea>\n    <\/div>\n\n    <!-- Output -->\n    <div class=\"output-section\">\n      <div class=\"output-header\">\n        <span>\ud83d\udcbb<\/span> \u51fa\u529b\u7d50\u679c\n      <\/div>\n      <div class=\"output-body\" id=\"output\">\u3053\u3053\u306b\u7d50\u679c\u304c\u8868\u793a\u3055\u308c\u307e\u3059&#8230;<\/div>\n    <\/div>\n\n    <!-- Status -->\n    <div class=\"status-bar\">\n      <div class=\"status-indicator\" id=\"status-dot\"><\/div>\n      <span id=\"status-text\">\u6e96\u5099\u5b8c\u4e86 \u2014 \u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u300c\u5b9f\u884c\u3059\u308b\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u307f\u3088\u3046\uff01<\/span>\n    <\/div>\n  <\/div>\n<\/div>\n\n<!-- Achievement popup -->\n<div class=\"achievement\" id=\"achievement\">\n  <div class=\"ach-icon\" id=\"ach-icon\">\ud83c\udfc6<\/div>\n  <div>\n    <div class=\"ach-title\" id=\"ach-title\">\u3059\u3054\u3044\uff01<\/div>\n    <div class=\"ach-msg\" id=\"ach-msg\">\u30b3\u30fc\u30c9\u304c\u52d5\u3044\u305f\u3088\uff01<\/div>\n  <\/div>\n<\/div>\n\n<script>\nconst lessons = [\n  {\n    title: \"\ud83d\udc4b \u306f\u3058\u3081\u3066\u306eVB\",\n    desc: '<b>Print<\/b> \u30b3\u30de\u30f3\u30c9\u3092\u4f7f\u3046\u3068\u3001\u753b\u9762\u306b\u6587\u5b57\u3084\u6570\u5b57\u3092\u8868\u793a\u3067\u304d\u307e\u3059\uff01<br>\u4e0b\u306e\u30b3\u30fc\u30c9\u3092\u5b9f\u884c\u3057\u3066\u3001\u4f55\u304c\u8d77\u304d\u308b\u304b\u898b\u3066\u307f\u3088\u3046\u3002\u6587\u5b57\u3092\u5909\u3048\u3066\u8a66\u3057\u3066\u307f\u3066\u3082\u3044\u3044\u3088\uff01',\n    hint: '\u30d2\u30f3\u30c8: Print \u306e\u5f8c\u306b\u8868\u793a\u3057\u305f\u3044\u6587\u5b57\u3092 <b>\"\u30c0\u30d6\u30eb\u30af\u30a9\u30fc\u30c6\u30fc\u30b7\u30e7\u30f3\"<\/b> \u3067\u56f2\u3082\u3046',\n    code: `Sub Main()\n    Print \"\u3053\u3093\u306b\u3061\u306f\u3001\u4e16\u754c\uff01\"\n    Print \"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u306f\u697d\u3057\u3044\uff01\"\n    Print \"VB\u3092\u59cb\u3081\u3088\u3046\uff01\"\nEnd Sub`\n  },\n  {\n    title: \"\ud83d\udd22 \u5909\u6570\u3092\u4f7f\u304a\u3046\",\n    desc: '<b>Dim<\/b> \u3067\u5909\u6570\uff08\u7bb1\uff09\u3092\u4f5c\u308b\u3068\u3001\u6570\u5b57\u3084\u6587\u5b57\u3092\u4fdd\u5b58\u3067\u304d\u307e\u3059\u3002<br>\u5909\u6570\u306b\u5024\u3092\u5165\u308c\u3066\u3001\u8a08\u7b97\u3057\u305f\u308a\u8868\u793a\u3057\u305f\u308a\u3057\u3066\u307f\u3088\u3046\uff01',\n    hint: '\u30d2\u30f3\u30c8: Dim x As Integer \u3067\u6574\u6570\u306e\u7bb1\u3001Dim name As String \u3067\u6587\u5b57\u306e\u7bb1\u304c\u4f5c\u308c\u308b\u3088',\n    code: `Sub Main()\n    Dim name As String\n    Dim age As Integer\n    \n    name = \"\u82b1\u5b50\"\n    age = 10\n    \n    Print \"\u540d\u524d: \" & name\n    Print \"\u5e74\u9f62: \" & age & \" \u6b73\"\n    Print \"\u6765\u5e74\u306f \" & (age + 1) & \" \u6b73\u306b\u306a\u308b\u3088\uff01\"\nEnd Sub`\n  },\n  {\n    title: \"\ud83d\udd01 \u304f\u308a\u304b\u3048\u3057\",\n    desc: '<b>For \u30eb\u30fc\u30d7<\/b>\u3092\u4f7f\u3046\u3068\u3001\u540c\u3058\u51e6\u7406\u3092\u4f55\u5ea6\u3067\u3082\u7e70\u308a\u8fd4\u305b\u307e\u3059\uff01<br>1\u304b\u308910\u307e\u3067\u6570\u3048\u305f\u308a\u3001\u4e5d\u4e5d\u3092\u4f5c\u3063\u305f\u308a\u3067\u304d\u308b\u3088\u3002',\n    hint: '\u30d2\u30f3\u30c8: For i = 1 To 10 \u3067 i \u304c 1\u301c10 \u307e\u3067\u5909\u308f\u308a\u306a\u304c\u3089\u7e70\u308a\u8fd4\u3059\u3088',\n    code: `Sub Main()\n    Dim i As Integer\n    \n    Print \"--- 1\u304b\u30895\u307e\u3067\u6570\u3048\u3088\u3046 ---\"\n    For i = 1 To 5\n        Print i & \" \uff01\"\n    Next i\n    \n    Print \"--- 2\u306e\u6bb5\uff08\u304b\u3051\u7b97\uff09 ---\"\n    For i = 1 To 9\n        Print \"2 \u00d7 \" & i & \" = \" & (2 * i)\n    Next i\nEnd Sub`\n  },\n  {\n    title: \"\u2753 \u3082\u3057\u301c\u306a\u3089\u3070\",\n    desc: '<b>If \u6587<\/b>\u3092\u4f7f\u3046\u3068\u3001\u6761\u4ef6\u306b\u3088\u3063\u3066\u9055\u3046\u3053\u3068\u304c\u3067\u304d\u307e\u3059\u3002<br>\u70b9\u6570\u306b\u3088\u3063\u3066\u30e1\u30c3\u30bb\u30fc\u30b8\u3092\u5909\u3048\u3066\u307f\u3088\u3046\uff01',\n    hint: '\u30d2\u30f3\u30c8: If \u6761\u4ef6 Then ... ElseIf \u6761\u4ef6 Then ... Else ... End If \u306e\u5f62\u3067\u66f8\u304f\u3088',\n    code: `Sub Main()\n    Dim score As Integer\n    score = 85\n    \n    Print \"\u30c6\u30b9\u30c8\u306e\u70b9\u6570: \" & score & \" \u70b9\"\n    \n    If score >= 90 Then\n        Print \"\ud83c\udfc6 \u3059\u3054\u3044\uff01\u3088\u304f\u3067\u304d\u307e\u3057\u305f\uff01\"\n    ElseIf score >= 70 Then\n        Print \"\ud83d\ude0a \u3088\u304f\u304c\u3093\u3070\u308a\u307e\u3057\u305f\uff01\"\n    ElseIf score >= 50 Then\n        Print \"\ud83d\ude10 \u3082\u3046\u5c11\u3057\u304c\u3093\u3070\u308d\u3046\"\n    Else\n        Print \"\ud83d\ude22 \u6b21\u306f\u3082\u3063\u3068\u304c\u3093\u3070\u308c\uff01\"\n    End If\nEnd Sub`\n  },\n  {\n    title: \"\ud83c\udfb2 \u6570\u5f53\u3066\u30b2\u30fc\u30e0\",\n    desc: '\u4eca\u307e\u3067\u5b66\u3093\u3060\u3053\u3068\u3092\u5168\u90e8\u4f7f\u3063\u3066\u3001\u6570\u5f53\u3066\u30b2\u30fc\u30e0\u3092\u4f5c\u308d\u3046\uff01<br>1\u301c10\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6570\u5b57\u3092\u4e88\u6e2c\u3057\u3066\u3001\u5408\u3063\u3066\u3044\u308b\u304b\u78ba\u304b\u3081\u3088\u3046\u3002',\n    hint: '\u30d2\u30f3\u30c8: Int(Rnd() * 10) + 1 \u3067 1\u301c10 \u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6570\u304c\u4f5c\u308c\u308b\u3088',\n    code: `Sub Main()\n    Dim secret As Integer\n    Dim guess As Integer\n    \n    ' 1\u301c10\u306e\u30e9\u30f3\u30c0\u30e0\u306a\u6570\u5b57\u3092\u4f5c\u308b\n    secret = Int(Rnd() * 10) + 1\n    \n    ' \u4e88\u60f3\u3059\u308b\u6570\u5b57\n    guess = 7\n    \n    Print \"=== \u6570\u5f53\u3066\u30b2\u30fc\u30e0 ===\"\n    Print \"\u79d8\u5bc6\u306e\u6570\u5b57: \" & secret\n    Print \"\u3042\u306a\u305f\u306e\u4e88\u60f3: \" & guess\n    Print \"\"\n    \n    If guess = secret Then\n        Print \"\ud83c\udf89 \u5927\u6b63\u89e3\uff01\uff01\u3059\u3070\u3089\u3057\u3044\uff01\"\n    ElseIf guess > secret Then\n        Print \"\ud83d\udcc9 \u3061\u304c\u3046\u3088\uff01\u3082\u3063\u3068\u5c0f\u3055\u3044\u6570\u3060\u3088\"\n    Else\n        Print \"\ud83d\udcc8 \u3061\u304c\u3046\u3088\uff01\u3082\u3063\u3068\u5927\u304d\u3044\u6570\u3060\u3088\"\n    End If\n    \n    Print \"\"\n    Print \"guess \u306e\u6570\u5b57\u3092\u5909\u3048\u3066\u3082\u3046\u4e00\u5ea6\u8a66\u3057\u3066\u307f\u3088\u3046\uff01\"\nEnd Sub`\n  }\n];\n\nlet currentLesson = 0;\nlet runCount = 0;\n\nfunction loadLesson(index) {\n  currentLesson = index;\n  const lesson = lessons[index];\n  document.getElementById('lesson-title').textContent = lesson.title;\n  document.getElementById('lesson-desc').innerHTML = lesson.desc;\n  document.getElementById('lesson-hint').innerHTML = lesson.hint;\n  document.getElementById('code-editor').value = lesson.code;\n  document.getElementById('output').textContent = '\u3053\u3053\u306b\u7d50\u679c\u304c\u8868\u793a\u3055\u308c\u307e\u3059...';\n  document.getElementById('output').className = 'output-body';\n  setStatus('ready', '\u6e96\u5099\u5b8c\u4e86 \u2014 \u30b3\u30fc\u30c9\u3092\u66f8\u3044\u3066\u300c\u5b9f\u884c\u3059\u308b\u300d\u30dc\u30bf\u30f3\u3092\u62bc\u3057\u3066\u307f\u3088\u3046\uff01');\n  \n  document.querySelectorAll('.lesson-card').forEach((c, i) => {\n    c.classList.toggle('active', i === index);\n  });\n}\n\nfunction clearEditor() {\n  document.getElementById('code-editor').value = '';\n  document.getElementById('output').textContent = '\u3053\u3053\u306b\u7d50\u679c\u304c\u8868\u793a\u3055\u308c\u307e\u3059...';\n  document.getElementById('output').className = 'output-body';\n  setStatus('ready', '\u6e96\u5099\u5b8c\u4e86');\n}\n\nfunction setStatus(type, msg) {\n  const dot = document.getElementById('status-dot');\n  dot.className = 'status-indicator' + (type !== 'ready' ? ' ' + type : '');\n  document.getElementById('status-text').textContent = msg;\n}\n\nfunction showAchievement(icon, title, msg) {\n  document.getElementById('ach-icon').textContent = icon;\n  document.getElementById('ach-title').textContent = title;\n  document.getElementById('ach-msg').textContent = msg;\n  const el = document.getElementById('achievement');\n  el.classList.add('show');\n  setTimeout(() => el.classList.remove('show'), 3000);\n}\n\nfunction runCode() {\n  const code = document.getElementById('code-editor').value;\n  const output = document.getElementById('output');\n  \n  setStatus('running', '\u5b9f\u884c\u4e2d...');\n  output.className = 'output-body';\n  \n  setTimeout(() => {\n    try {\n      const result = executeVB(code);\n      output.textContent = result.text || '(\u51fa\u529b\u306a\u3057)';\n      output.className = 'output-body' + (result.error ? ' error' : ' success');\n      \n      if (result.error) {\n        setStatus('error', '\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002\u30b3\u30fc\u30c9\u3092\u78ba\u8a8d\u3057\u3066\u306d\u3002');\n      } else {\n        setStatus('success', '\u2705 \u5b9f\u884c\u5b8c\u4e86\uff01');\n        runCount++;\n        if (runCount === 1) showAchievement('\ud83d\ude80', '\u306f\u3058\u3081\u3066\u306e\u5b9f\u884c\uff01', '\u30b3\u30fc\u30c9\u304c\u52d5\u3044\u305f\u3088\uff01\u3059\u3054\u3044\uff01');\n        else if (runCount === 5) showAchievement('\u2b50', '5\u56de\u5b9f\u884c\uff01', '\u3069\u3093\u3069\u3093\u4e0a\u624b\u306b\u306a\u3063\u3066\u308b\u306d\uff01');\n        else if (runCount === 10) showAchievement('\ud83c\udfc6', '10\u56de\u5b9f\u884c\uff01', '\u30d7\u30ed\u30b0\u30e9\u30de\u30fc\u8a95\u751f\uff01');\n      }\n    } catch(e) {\n      output.textContent = '\u274c \u30a8\u30e9\u30fc: ' + e.message;\n      output.className = 'output-body error';\n      setStatus('error', '\u30a8\u30e9\u30fc\u304c\u767a\u751f\u3057\u307e\u3057\u305f\u3002');\n    }\n  }, 300);\n}\n\nfunction executeVB(code) {\n  const lines = code.split('\\n').map(l => l.trim());\n  const outputLines = [];\n  let error = false;\n  \n  \/\/ Find Sub Main\n  let inMain = false;\n  const variables = {};\n  \n  \/\/ Simple interpreter\n  const execBlock = (blockLines) => {\n    let i = 0;\n    while (i < blockLines.length) {\n      const line = blockLines[i].trim();\n      \n      \/\/ Skip empty lines and comments\n      if (!line || line.startsWith(\"'\")) { i++; continue; }\n      \n      \/\/ Sub\/End Sub\n      if (line.match(\/^Sub\\s+\\w+\\(\\)\/i)) { i++; continue; }\n      if (line.match(\/^End Sub\/i)) { i++; continue; }\n      \n      \/\/ Dim declaration\n      if (line.match(\/^Dim\\s+(\\w+)\\s+As\\s+(\\w+)\/i)) {\n        const m = line.match(\/^Dim\\s+(\\w+)\\s+As\\s+(\\w+)\/i);\n        variables[m[1].toLowerCase()] = m[2].toLowerCase() === 'string' ? '' : 0;\n        i++; continue;\n      }\n      \n      \/\/ Print\n      if (line.match(\/^Print\\s+\/i)) {\n        const expr = line.slice(6).trim();\n        try {\n          outputLines.push(evalExpr(expr, variables));\n        } catch(e) {\n          outputLines.push('\u274c \u30a8\u30e9\u30fc: ' + e.message);\n          error = true;\n        }\n        i++; continue;\n      }\n      \n      \/\/ Assignment\n      if (line.match(\/^(\\w+)\\s*=\\s*\/)) {\n        const m = line.match(\/^(\\w+)\\s*=\\s*(.+)$\/);\n        if (m) {\n          variables[m[1].toLowerCase()] = evalExpr(m[2], variables);\n        }\n        i++; continue;\n      }\n      \n      \/\/ For loop\n      if (line.match(\/^For\\s+(\\w+)\\s*=\\s*(.+)\\s+To\\s+(.+)\/i)) {\n        const m = line.match(\/^For\\s+(\\w+)\\s*=\\s*(.+?)\\s+To\\s+(.+?)(?:\\s+Step\\s+(.+))?$\/i);\n        if (m) {\n          const varName = m[1].toLowerCase();\n          const start = Number(evalExpr(m[2], variables));\n          const end = Number(evalExpr(m[3], variables));\n          const step = m[4] ? Number(evalExpr(m[4], variables)) : 1;\n          \n          \/\/ Find matching Next\n          let depth = 1, j = i + 1;\n          const body = [];\n          while (j < blockLines.length &#038;&#038; depth > 0) {\n            const bl = blockLines[j].trim();\n            if (bl.match(\/^For\\s+\/i)) depth++;\n            if (bl.match(\/^Next\\s*\/i)) { depth--; if (depth === 0) break; }\n            body.push(bl);\n            j++;\n          }\n          \n          \/\/ Execute loop\n          for (let v = start; step > 0 ? v <= end : v >= end; v += step) {\n            variables[varName] = v;\n            const loopResult = execBlock(body);\n            if (loopResult.error) { error = true; }\n          }\n          i = j + 1; continue;\n        }\n      }\n      \n      \/\/ If \/ ElseIf \/ Else \/ End If\n      if (line.match(\/^If\\s+(.+)\\s+Then$\/i)) {\n        \/\/ Collect entire if block\n        let depth = 1, j = i + 1;\n        const branches = [{ cond: line.match(\/^If\\s+(.+)\\s+Then$\/i)[1], body: [] }];\n        let current = 0;\n        let hasElse = false;\n        \n        while (j < blockLines.length &#038;&#038; depth > 0) {\n          const bl = blockLines[j].trim();\n          if (bl.match(\/^If\\s+.+\\s+Then$\/i)) depth++;\n          if (depth === 1 && bl.match(\/^ElseIf\\s+(.+)\\s+Then$\/i)) {\n            const em = bl.match(\/^ElseIf\\s+(.+)\\s+Then$\/i);\n            branches.push({ cond: em[1], body: [] });\n            current = branches.length - 1;\n            j++; continue;\n          }\n          if (depth === 1 && bl.match(\/^Else$\/i)) {\n            branches.push({ cond: '__else__', body: [] });\n            current = branches.length - 1;\n            hasElse = true;\n            j++; continue;\n          }\n          if (bl.match(\/^End If$\/i)) { depth--; if (depth === 0) break; }\n          branches[current].body.push(bl);\n          j++;\n        }\n        \n        \/\/ Evaluate branches\n        let executed = false;\n        for (const branch of branches) {\n          if (executed) break;\n          if (branch.cond === '__else__') {\n            execBlock(branch.body);\n            executed = true;\n          } else {\n            try {\n              if (evalCondition(branch.cond, variables)) {\n                execBlock(branch.body);\n                executed = true;\n              }\n            } catch(e) {}\n          }\n        }\n        \n        i = j + 1; continue;\n      }\n      \n      i++;\n    }\n    return { text: outputLines.join('\\n'), error };\n  };\n  \n  const result = execBlock(lines);\n  return { text: outputLines.join('\\n'), error };\n}\n\nfunction evalExpr(expr, variables) {\n  expr = expr.trim();\n  \n  \/\/ String concat with &\n  if (expr.includes('&')) {\n    return expr.split('&').map(p => evalExpr(p.trim(), variables)).join('');\n  }\n  \n  \/\/ String literal\n  if (expr.startsWith('\"') && expr.endsWith('\"')) {\n    return expr.slice(1, -1);\n  }\n  \n  \/\/ Number literal\n  if (!isNaN(expr)) return Number(expr);\n  \n  \/\/ Rnd() function\n  if (expr.match(\/^Rnd\\(\\)$\/i)) return Math.random();\n  \n  \/\/ Int() function\n  if (expr.match(\/^Int\\((.+)\\)$\/i)) {\n    const inner = expr.match(\/^Int\\((.+)\\)$\/i)[1];\n    return Math.floor(evalExpr(inner, variables));\n  }\n  \n  \/\/ Math expression (with * + - \/)\n  if (expr.match(\/[\\+\\-\\*\\\/]\/) && !expr.startsWith('\"')) {\n    \/\/ Replace variables\n    let jsExpr = expr.replace(\/\\b([a-zA-Z_]\\w*)\\b\/g, (m) => {\n      const v = variables[m.toLowerCase()];\n      return v !== undefined ? (typeof v === 'string' ? JSON.stringify(v) : v) : m;\n    });\n    \/\/ Replace Rnd() and Int()\n    jsExpr = jsExpr.replace(\/Rnd\\(\\)\/gi, 'Math.random()');\n    jsExpr = jsExpr.replace(\/Int\\(([^)]+)\\)\/gi, 'Math.floor($1)');\n    try { return eval(jsExpr); } catch(e) {}\n  }\n  \n  \/\/ Variable lookup\n  const varName = expr.toLowerCase();\n  if (variables.hasOwnProperty(varName)) return variables[varName];\n  \n  return expr;\n}\n\nfunction evalCondition(cond, variables) {\n  \/\/ Support: =, <>, >, <, >=, <=\n  const ops = ['>=', '<=', '<>', '>', '<', '='];\n  for (const op of ops) {\n    if (cond.includes(op)) {\n      const parts = cond.split(op);\n      const left = evalExpr(parts[0].trim(), variables);\n      const right = evalExpr(parts[1].trim(), variables);\n      switch(op) {\n        case '=': return left == right;\n        case '<>': return left != right;\n        case '>': return left > right;\n        case '<': return left < right;\n        case '>=': return left >= right;\n        case '<=': return left <= right;\n      }\n    }\n  }\n  return false;\n}\n<\/script>\n<\/body>\n<\/html>\n","protected":false},"excerpt":{"rendered":"<p>VB\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u2605\u30ad\u30c3\u30ba \ud83d\ude80 VB\u30b3\u30fc\u30c7\u30a3\u30f3\u30b0\u2605\u30ad\u30c3\u30ba \u30d7\u30ed&hellip;<\/p>\n","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"class_list":["post-1271","page","type-page","status-publish","hentry"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v27.0 (Yoast SEO v27.0) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3067\u30b9\u30ad\u30eb\u3092\u78e8\u3053\u3046 - FunterraKids<\/title>\n<meta name=\"description\" content=\"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.funterra-kids.com\/?page_id=1271\" \/>\n<meta property=\"og:locale\" content=\"ja_JP\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Coding\u7df4\u7fd2\u554f\u984c\uff08VisualBasic\u57fa\u790e\uff09\" \/>\n<meta property=\"og:description\" content=\"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.funterra-kids.com\/?page_id=1271\" \/>\n<meta property=\"og:site_name\" content=\"FunterraKids\" \/>\n<meta property=\"article:modified_time\" content=\"2026-03-02T16:19:35+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2026\/07\/Insta\u6295\u7a3f\u30ec\u30c3\u30b9\u30f3\u69d8\u5b50-2.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"1080\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593\" \/>\n\t<meta name=\"twitter:data1\" content=\"33\u5206\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271\",\"url\":\"https:\/\/www.funterra-kids.com\/?page_id=1271\",\"name\":\"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3067\u30b9\u30ad\u30eb\u3092\u78e8\u3053\u3046 - FunterraKids\",\"isPartOf\":{\"@id\":\"https:\/\/www.funterra-kids.com\/#website\"},\"datePublished\":\"2026-03-02T16:05:54+00:00\",\"dateModified\":\"2026-03-02T16:19:35+00:00\",\"description\":\"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01\",\"breadcrumb\":{\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#breadcrumb\"},\"inLanguage\":\"ja\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.funterra-kids.com\/?page_id=1271\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"\u30db\u30fc\u30e0\",\"item\":\"https:\/\/www.funterra-kids.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Coding\u7df4\u7fd2\u554f\u984c\uff08VisualBasic\u57fa\u790e\uff09\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.funterra-kids.com\/#website\",\"url\":\"https:\/\/www.funterra-kids.com\/\",\"name\":\"FunterraKids\",\"description\":\"International Aftershool\",\"publisher\":{\"@id\":\"https:\/\/www.funterra-kids.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/www.funterra-kids.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ja\"},{\"@type\":[\"Organization\",\"Place\",\"EducationalOrganization\"],\"@id\":\"https:\/\/www.funterra-kids.com\/#organization\",\"name\":\"FunterraKids \u4e09\u9df9\u4e95\u53e3\u6821\",\"alternateName\":\"\u30d5\u30a1\u30f3\u30c6\u30e9\u30ad\u30c3\u30ba\",\"url\":\"https:\/\/www.funterra-kids.com\/\",\"logo\":{\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo\"},\"image\":{\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo\"},\"description\":\"\u82f1\u8a9e\u00d7IT\u306e\u5b66\u7ae5\u4fdd\u80b2\uff5c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u578b\u3067\u30ea\u30fc\u30c0\u30fc\u3092\u80b2\u3066\u308b Funterra Kids\u306f\u3001\u305f\u3060\u306e\u5b66\u7ae5\u4fdd\u80b2\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u82f1\u8a9e\u3092\u300c\u6559\u79d1\u300d\u3068\u3057\u3066\u5b66\u3076\u306e\u3067\u306f\u306a\u304f\u3001\u904a\u3073\u3084\u65e5\u5e38\u306e\u4f53\u9a13\u3092\u901a\u3057\u3066\u81ea\u7136\u306b\u8eab\u306b\u3064\u3051\u308b\u3053\u3068\u3092\u5927\u5207\u306b\u3057\u3066\u3044\u307e\u3059\u3002 \u5b50\u3069\u3082\u305f\u3061\u304c\u5922\u4e2d\u306b\u306a\u3063\u3066\u904a\u3076\u6642\u9593\u3053\u305d\u304c\u3001\u82f1\u8a9e\u3092\u81ea\u5206\u306e\u3053\u3068\u3070\u3068\u3057\u3066\u5438\u53ce\u3057\u3001\u672a\u6765\u306e\u53ef\u80fd\u6027\u3092\u5e83\u3052\u308b\u529b\u306b\u5909\u308f\u308b\u3068\u79c1\u305f\u3061\u306f\u8003\u3048\u3066\u3044\u307e\u3059\u3002\",\"legalName\":\"FunterraKids\",\"numberOfEmployees\":{\"@type\":\"QuantitativeValue\",\"minValue\":\"11\",\"maxValue\":\"50\"},\"address\":{\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-place-address\"},\"geo\":{\"@type\":\"GeoCoordinates\",\"latitude\":\"35.68963956318503\",\"longitude\":\"139.5460421865063\"},\"telephone\":[\"0422677041\"],\"contactPoint\":{\"@type\":\"ContactPoint\",\"telephone\":\"042-267-7041\",\"email\":\"mitaka@funterra-kids.com\"},\"openingHoursSpecification\":[{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Monday\",\"Tuesday\",\"Wednesday\",\"Thursday\",\"Friday\",\"Saturday\"],\"opens\":\"13:30\",\"closes\":\"19:30\"},{\"@type\":\"OpeningHoursSpecification\",\"dayOfWeek\":[\"Sunday\"],\"opens\":\"00:00\",\"closes\":\"00:00\"}],\"email\":\"mitaka@funterra-kids.com\"},{\"@type\":\"PostalAddress\",\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-place-address\",\"streetAddress\":\"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02, \u4e95\u53e3\uff12\u4e01\u76ee13-37\u767d\u9ce5\u30d3\u30eb\uff12\u968e\",\"addressLocality\":\"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02\",\"postalCode\":\"1810011\",\"addressRegion\":\"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02\u3001\u8abf\u5e03\u5e02\u3001\u4e16\u7530\u8c37\u533a\",\"addressCountry\":\"JP\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"ja\",\"@id\":\"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo\",\"url\":\"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2025\/09\/Funterra-Kids-icon.png\",\"contentUrl\":\"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2025\/09\/Funterra-Kids-icon.png\",\"width\":983,\"height\":957,\"caption\":\"FunterraKids \u4e09\u9df9\u4e95\u53e3\u6821\"}]}<\/script>\n<meta name=\"geo.placename\" content=\"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02\" \/>\n<meta name=\"geo.position\" content=\"35.68963956318503;139.5460421865063\" \/>\n<meta name=\"geo.region\" content=\"\u65e5\u672c\" \/>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3067\u30b9\u30ad\u30eb\u3092\u78e8\u3053\u3046 - FunterraKids","description":"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/www.funterra-kids.com\/?page_id=1271","og_locale":"ja_JP","og_type":"article","og_title":"Coding\u7df4\u7fd2\u554f\u984c\uff08VisualBasic\u57fa\u790e\uff09","og_description":"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01","og_url":"https:\/\/www.funterra-kids.com\/?page_id=1271","og_site_name":"FunterraKids","article_modified_time":"2026-03-02T16:19:35+00:00","og_image":[{"width":1080,"height":1080,"url":"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2026\/07\/Insta\u6295\u7a3f\u30ec\u30c3\u30b9\u30f3\u69d8\u5b50-2.jpg","type":"image\/jpeg"}],"twitter_card":"summary_large_image","twitter_misc":{"\u63a8\u5b9a\u8aad\u307f\u53d6\u308a\u6642\u9593":"33\u5206"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/www.funterra-kids.com\/?page_id=1271","url":"https:\/\/www.funterra-kids.com\/?page_id=1271","name":"\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3067\u30b9\u30ad\u30eb\u3092\u78e8\u3053\u3046 - FunterraKids","isPartOf":{"@id":"https:\/\/www.funterra-kids.com\/#website"},"datePublished":"2026-03-02T16:05:54+00:00","dateModified":"2026-03-02T16:19:35+00:00","description":"\u697d\u3057\u307f\u306a\u304c\u3089\u5b66\u3076\u30d7\u30ed\u30b0\u30e9\u30df\u30f3\u30b0\u30ec\u30c3\u30b9\u30f3\u3002\u521d\u5fc3\u8005\u5411\u3051\u306bVB Print\u3067\u697d\u3057\u304f\u30e1\u30c3\u30bb\u30fc\u30b8\u8868\u793a\u3057\u3088\u3046\uff01","breadcrumb":{"@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#breadcrumb"},"inLanguage":"ja","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.funterra-kids.com\/?page_id=1271"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"\u30db\u30fc\u30e0","item":"https:\/\/www.funterra-kids.com\/"},{"@type":"ListItem","position":2,"name":"Coding\u7df4\u7fd2\u554f\u984c\uff08VisualBasic\u57fa\u790e\uff09"}]},{"@type":"WebSite","@id":"https:\/\/www.funterra-kids.com\/#website","url":"https:\/\/www.funterra-kids.com\/","name":"FunterraKids","description":"International Aftershool","publisher":{"@id":"https:\/\/www.funterra-kids.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.funterra-kids.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ja"},{"@type":["Organization","Place","EducationalOrganization"],"@id":"https:\/\/www.funterra-kids.com\/#organization","name":"FunterraKids \u4e09\u9df9\u4e95\u53e3\u6821","alternateName":"\u30d5\u30a1\u30f3\u30c6\u30e9\u30ad\u30c3\u30ba","url":"https:\/\/www.funterra-kids.com\/","logo":{"@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo"},"image":{"@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo"},"description":"\u82f1\u8a9e\u00d7IT\u306e\u5b66\u7ae5\u4fdd\u80b2\uff5c\u30d7\u30ed\u30b8\u30a7\u30af\u30c8\u578b\u3067\u30ea\u30fc\u30c0\u30fc\u3092\u80b2\u3066\u308b Funterra Kids\u306f\u3001\u305f\u3060\u306e\u5b66\u7ae5\u4fdd\u80b2\u3067\u306f\u3042\u308a\u307e\u305b\u3093\u3002 \u82f1\u8a9e\u3092\u300c\u6559\u79d1\u300d\u3068\u3057\u3066\u5b66\u3076\u306e\u3067\u306f\u306a\u304f\u3001\u904a\u3073\u3084\u65e5\u5e38\u306e\u4f53\u9a13\u3092\u901a\u3057\u3066\u81ea\u7136\u306b\u8eab\u306b\u3064\u3051\u308b\u3053\u3068\u3092\u5927\u5207\u306b\u3057\u3066\u3044\u307e\u3059\u3002 \u5b50\u3069\u3082\u305f\u3061\u304c\u5922\u4e2d\u306b\u306a\u3063\u3066\u904a\u3076\u6642\u9593\u3053\u305d\u304c\u3001\u82f1\u8a9e\u3092\u81ea\u5206\u306e\u3053\u3068\u3070\u3068\u3057\u3066\u5438\u53ce\u3057\u3001\u672a\u6765\u306e\u53ef\u80fd\u6027\u3092\u5e83\u3052\u308b\u529b\u306b\u5909\u308f\u308b\u3068\u79c1\u305f\u3061\u306f\u8003\u3048\u3066\u3044\u307e\u3059\u3002","legalName":"FunterraKids","numberOfEmployees":{"@type":"QuantitativeValue","minValue":"11","maxValue":"50"},"address":{"@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-place-address"},"geo":{"@type":"GeoCoordinates","latitude":"35.68963956318503","longitude":"139.5460421865063"},"telephone":["0422677041"],"contactPoint":{"@type":"ContactPoint","telephone":"042-267-7041","email":"mitaka@funterra-kids.com"},"openingHoursSpecification":[{"@type":"OpeningHoursSpecification","dayOfWeek":["Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],"opens":"13:30","closes":"19:30"},{"@type":"OpeningHoursSpecification","dayOfWeek":["Sunday"],"opens":"00:00","closes":"00:00"}],"email":"mitaka@funterra-kids.com"},{"@type":"PostalAddress","@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-place-address","streetAddress":"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02, \u4e95\u53e3\uff12\u4e01\u76ee13-37\u767d\u9ce5\u30d3\u30eb\uff12\u968e","addressLocality":"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02","postalCode":"1810011","addressRegion":"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02\u3001\u8abf\u5e03\u5e02\u3001\u4e16\u7530\u8c37\u533a","addressCountry":"JP"},{"@type":"ImageObject","inLanguage":"ja","@id":"https:\/\/www.funterra-kids.com\/?page_id=1271#local-main-organization-logo","url":"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2025\/09\/Funterra-Kids-icon.png","contentUrl":"https:\/\/www.funterra-kids.com\/wp-content\/uploads\/2025\/09\/Funterra-Kids-icon.png","width":983,"height":957,"caption":"FunterraKids \u4e09\u9df9\u4e95\u53e3\u6821"}]},"geo.placename":"\u6771\u4eac\u90fd\u4e09\u9df9\u5e02","geo.position":{"lat":"35.68963956318503","long":"139.5460421865063"},"geo.region":"\u65e5\u672c"},"_links":{"self":[{"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/pages\/1271","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=1271"}],"version-history":[{"count":5,"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/pages\/1271\/revisions"}],"predecessor-version":[{"id":1276,"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=\/wp\/v2\/pages\/1271\/revisions\/1276"}],"wp:attachment":[{"href":"https:\/\/www.funterra-kids.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=1271"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}