• 検索結果がありません。

DTPer のスクリプトもくもく会スピンオフ! VBScript の概要 Excel VBA から InDesign を動かす お ~ まち

N/A
N/A
Protected

Academic year: 2021

シェア "DTPer のスクリプトもくもく会スピンオフ! VBScript の概要 Excel VBA から InDesign を動かす お ~ まち"

Copied!
34
0
0

読み込み中.... (全文を見る)

全文

(1)

DTPerのスクリプトもくもく会スピンオフ!

VBScriptの概要

Excel VBAから

InDesignを動かす

(2)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要/Excel VBAからInDesignを動かす 2

自己紹介

世界で唯一の自動組版インストラクター 職業訓練校のWebインストラクター 活動拠点:https://cs5.xyz 『イチからわかる! InDesign JavaScript 指南書』 https://cs5.booth.pm/

(3)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 3

VBScriptの概要

★ 言語仕様 ★ 実行環境 ★ COMとは ★ 注意点

(4)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 4

言語仕様

VBScriptとは

★ Windowsのスクリプト言語

★ Microsoft Visual Basic Scripting Editionの略

★ Visual Basicの構文を真似てつくられた

★ Windows 98から搭載

(5)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 5

言語仕様

言語の特徴

★ VB(Visual Basic)やVBA(Visual Basic for

Application)と基本的な構文はほぼ同じ

★ VB・VBAより簡素(未装備の関数などあり)

(6)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 6

言語仕様

JavaScript言語と比べると

★ 命令や関数に大文字/小文字の区別はない

★ 原則として改行が命令文の終わり

★ if, else, while, forなど基本の命令文は同じ

★ 演算子は同じだったり違ったり

★ 添え字は1から始まる

(7)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 7

実行環境

Windowsで使用します

① Internet Explorer 3~10

①’ HTML Applications(拡張子hta) ② Active Server Pages(拡張子asp) ③ Windows Script Host(拡張子vbs)

単にVBScriptというと、言語ではなく ③のスクリプトファイルを指します。

(8)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 8 実行環境

解説その1

① Internet Explorer 3~10   JavaScriptに対抗しようとして敗れた。 ①’ HTML Applications(拡張子hta)   IE(5以降)のエンジンで動作する、htmlベースの   デスクトップアプリケーション。   マルウェアに利用(起動時に自動実行)されたため、   普通の企業では使用禁止となっている。

(9)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 9

実行環境

解説その2

② Active Server Pages(拡張子asp)

  IIS(インターネット・インフォメーション・サーバー)で   使用されるサーバーサイドスクリプト。

  (Apacheにおけるphpのようなもの)

  ASP.NETに置き換えられたが、今でも使用可能。

③ Windows Script Host(拡張子vbs)

(10)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 10

実行環境

Windows Script Hostとは

Windowsの管理や COM※1 を利用するための スクリプト実行環境。WSHと略される。 VBScriptまたはJScript※2 で記述された スクリプトを実行する。 ※1 あとで説明 ※2 MSが開発したECMAScript3準拠のスクリプト言語

(11)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 11 実行環境

VBScriptの実行

スクリプトファイルをダブルクリックすると wscript.exeが起動し、解析・実行される。 起動時に引数(配列)を利用できるため、 ドロップレットの作成も可能。 If WScript.Arguments.Count = 0 Then

(12)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 12 実行環境

年賀状システムのデモ

Webサービス データベース Webブラウザ 営業担当者 入力・指示 組版命令 PDF PDF html・css JavaScript (JQuery)

Internet Information Server

Active Server Pages

(13)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 13

COMとは

Component Object Model

ソフトウェアの機能を部品化して、

外部から呼び出して利用する仕組み。

OLE、ActiveXを統合・発展させたもの。 アプリケーションがインターフェイスを

(14)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 14

COMとは

COM対応アプリケーション

Windowsの各コンポーネント、

Internet Explorer、Microsoft Office、 InDesign、Illustrator、Photoshop、

(15)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 15

COMとは

VBScriptでのCOM利用

CreateObject関数を使う

Set obj = CreateObject("Excel.Application.16")

AdobeのCOMコンポーネント

InDesign.Application.CC.2017_J, Illustrator.Application.CC.2019, Photoshop.Application.130.1

(16)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 16 COMとは

InDesignのVBScript

スクリプトパネル内のvbsファイルは 実行時にwscript.exeに引き渡される。 そのためWSHの機能がそのまま利用できる。 ちょっと見てみますか

(17)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 17 注意点

注意点①開発終了済

Windowsの管理ツールとしては 後継にWindows PowerShellがある。 そのため開発は終了しバグフィックスのみ。 ただし提供終了のアナウンスはない。

(18)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 18 注意点

注意点②標準入出力はシフトJIS

コマンドラインの実行に制限がある。 ファイルの読み書きをUnicodeで行うには ADODBを使用する。

Set ado = CreateObject("ADODB.Stream")

(19)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 19 注意点

注意点③危険な命令に注意

レジストリの変更もできるツールのため Set sh = CreateObject("Shell.Application") マルウェアにもよく利用される。 厳しいところだと禁止されているかも。

(20)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要 20 注意点

注意点④InDesign DOMの名称

ExtendScriptとは別に開発されているので、 一部のプロパティやメソッドの名称が異なる。 ExtendScript → print COMインターフェイス → PrintOut

名称はExcelで確認できます

(21)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 21

Excel VBAから

InDesignを動かす

★ VBAの概要 ★ 作成と実行 ★ InDesignを動かす

(22)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 22 VBAの概要

マクロとは

アプリケーションを自動化するための機能。 Illustrator/Photoshopのアクションも。 Excelではマクロの記述にVBA言語を使う。

(23)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 23

VBAの概要

VBAとは

Visual Basic for Applicationsの略で、

Visual BasicをOffice製品に搭載したもの。 Visual Basic Editor(アプリケーションに

付属している)で作成する。

(24)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 24

VBAの概要

動作環境

Windows

 Microsoft Office

 KINGSOFT Office(WPS Office)  AutoCAD など

Mac

(25)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 25 VBAの概要

VBAでできること

★ アプリケーションの操作(自動化)  各アプリケーションの命令と  VBA共通の命令がある ★ OSの機能の呼び出し(限定的)  →あとでOS別に説明

(26)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 26 VBAの概要

VBAの特徴

★ マクロの記録(ExcelやWordなど)  操作をコードとして記録できるので  それを利用することで省力化が可能 ★ プログラム言語の中で一番情報量が多い(多分) ★ 開発はほぼ終了

(27)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 27 VBAの概要

VBAの注意事項

★ 標準入出力はシフトJIS ★ ファイル形式(拡張子)に注意  Excelの場合   旧型式は .xls   新形式(Open XML)は .xlsm   (.xlsxで保存するとマクロは失われる)

(28)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 28

作成と実行

VBAの作成方法

『JavaScriptユーザーのためのExcelマクロ (VBA)入門(Excel 2016 for Mac対応)』

https://cs5.booth.pm/items/939203 を買って、読んでください‼

(29)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 29

(30)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 30 InDesignを動かす

Windows

VBAはCOMを扱えるためVBScriptと同様に COM対応のアプリケーションを動かせる。 (Windows版phpやWindows版Pythonも、COMに アクセスする仕組を持っているので同様のことができる) システムの変更も行える→マクロウィルス

(31)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 31

InDesignを動かす

Mac

Office for Mac 2004以降は AppleScriptに対応している。

http://download.microsoft.com/download/6/ C/A/6CA6174A-FF8E-4B24-AD50-45B4AEC988D3/

excel.pdf (2008から更新されていないのだが……)

(32)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 32 InDesignを動かす

Mac

MacのVBAには AppleScriptTask関数があり AppleScriptを実行することができる。 https://msdn.microsoft.com/ja-jp/vba/ office-mac-vba/applescripttask これを使えばVBAからInDesignを起動できる。

(33)

DTPerのスクリプトもくもく会スピンオフ!  Excel VBAからInDesignを動かす 33 InDesignを動かす

Mac

手順はこれ。 詳しくはブログを 見てね。 「InDesign  Mac VBA」 で検索。 E x c e l ブ ッ ク テキストファイル InDesign 文 書 ①実行 ④実行 ②実行 ③実行 Excel VBA AppleScript ExtendScript

(34)

DTPerのスクリプトもくもく会スピンオフ!  VBScriptの概要/Excel VBAからInDesignを動かす 34 いかがでしたか? 今回は、VBScriptとVBAについて、 徹底的に調べてみました! やはりDTPは関連情報が多岐に亘って いて、奥が深いですね! それでは、ここまで聞いていただき ありがとうございました!

参照

関連したドキュメント

現在,環境問題が大きく懸念されており,持続可能な社会の実現のためにもそ

世の中のすべての親の一番の願いは、子 どもが健やかに成長することだと思いま

(ページ 3)3 ページ目をご覧ください。これまでの委員会における河川環境への影響予測、評

弊社または関係会社は本製品および関連情報につき、明示または黙示を問わず、いかなる権利を許諾するものでもなく、またそれらの市場適応性

どんな分野の学習もつまずく時期がある。うちの

パターン1 外部環境の「支援的要因(O)」を生 かしたもの パターン2 内部環境の「強み(S)」を生かした もの

問い ―― 近頃は、大藩も小藩も関係なく、どこも費用が不足しており、ひどく困窮して いる。家臣の給与を借り、少ない者で給与の 10 分の 1、多い者で 10 分の

[r]