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

Microsoft Office課題の自動採点プログラム-香川大学学術情報リポジトリ

N/A
N/A
Protected

Academic year: 2021

シェア "Microsoft Office課題の自動採点プログラム-香川大学学術情報リポジトリ"

Copied!
43
0
0

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

全文

(1)

Microsoft Office 課題の自動採点プログラム

! はじめに " プログラムの概要 # Wordの課題 $ Excelの課題 % PowerPointの課題 & 総合課題 ' 一括採点 ( むすび ! は じ め に 情報リテラシー教育の中に,文書作成,表計算,プレゼンテーションを含め ているところが多いであろう。具体的には Microsoft Office を使って課題を作 成させ,それを提出させて採点することになる。採点作業は手間がかかるし, 問題点を指摘して再提出させようとすれば日数もかかる。そのため本学でも, Moodle[1]を導入し,市販教材[2]も利用してきたが,それでは選択肢問 題が中心になる。一方,岩田員典ら[3]は,Word,Excel のファイルを提出 させ,内部を解析した上で採点するシステムを開発している。そのやり方とは 異なるが,Office の課題を受講生自身が採点できる自動採点プログラムを作成 してみたので公表する。今回,作成し,公表するのは次の6つの課題に対する プログラムである。 ―1―

(2)

1.Word の課題1 案内状の作成 2.Word の課題2 表と画像を含むレポート形式の文書の作成 3.Excel の課題1 基本的な集計表の作成 4.Excel の課題2 グラフの作成 5.PowerPoint の課題 基本的なスライドファイルの作成 6.総合課題 Wordの文書の中に Excel で作成したグラフを埋め込む 総合課題は授業時間中に時間を決めて一斉に実施する試験のように行った。 そのための模擬試験問題も作成したので,実際に作成したプログラムは7つあ るが,模擬試験問題と総合課題はプログラムとしてはほぼ同じなのでここでは 説明と公表を省略した。

プログラムはすべて Excel VBA で記述した。Microsoft Office が標準的にイ ンストールされている環境であれば実行可能なので,受講生が自分で採点でき る。これらの採点プログラムは2011年度の香川大学法学部・経済学部夜間主 コースの授業で使用して,いくつかの問題点を修正したものである。まだ開発 途上ではあるが,一応,実用に耐えるレベルにはなっていると考えている。以 下順にこれらのプログラムを説明する。ソースプログラムを含む Excel のワー クシートは Web サイトに掲載している。1) ! プログラムの概要 ここではすべての採点プログラムに共通のことがらを説明する。

プログラムは Excel の VBA で記述することにした。Excel をメインにしたの は採点項目をワークシートに記述し,その結果もワークシートとして出力する 方が扱いやすく,見やすくなると考えたからである。Word の課題1を例にし て説明する。課題の配布と提出には Moodle を使っている。 受講生はまず課題の指示を Moodle から得る。それを見て課題を作成した受 講生は,Moodle から採点プログラム(Excel のマクロを含むファイル)をダウ 1) http://kunics.tea-nifty.com/blog/officeautomark.html ―2― 香川大学経済学部 研究年報 51 2011

(3)

ンロードし,それを開くと図1のようなワークシートが表示される。そこで「採 点する」ボタンをクリックすると,ダイアログが開くので,採点対象の Word 文書を指定する。採点が行われ,新しいワークシートに図2のような採点結果 が表示される。受講生は結果を見て問題があれば修正し,×印がなくなったら 課題ファイルを Moodle に提出する。以上が大まかな流れである。 最初に与える課題が Word の課題であれば,学生はその時点ではまだ Excel の説明を聞いていないので都合が悪いはずであるが,最近の大学1年生は,ほ とんどがパソコン使用経験があるので,この程度の操作は問題がないと考えら 図1 Word 課題の自動採点ワークシート Microsoft Office 課題の自動採点プログラム ―3―

(4)

れる。

Excel か ら Excel の フ ァ イ ル を 開 く の は 問 題 な い が,Excel か ら Word と PowerPoint を起動するには,VBA の参照設定をしておく方が望ましい。たと えば Excel2010においては標準で設定されている参照は次の4つだけである。

!Visual Basic For Applications !Microsoft Excel14.0Object Library !OLE Automation

!Microsoft Office14.0Object Library したがって次の2つは追加する方がよい。

!Microsoft Word14.0Object Library !Microsoft PowerPoint14.0Object Library Office2007であれば次の2つになる。

!Microsoft Word12.0Object Library !Microsoft PowerPoint12.0Object Library

図2 Word 課題1の採点結果

(5)

初心者にこれらを追加させるのは無理なので,プログラムはこれらの参照が 設 定 さ れ て い な い も の と し て 作 成 し た。具 体 的 に は Word と PowerPoint の Application オブジェクトを作成するときに,それぞれの CreateObject メソッド を使う。それによりそれぞれのオブジェクトを使用できるようになるが,これ だけでは定数名を使うことができない。プログラムで定数も使えるようにでき るらしいが,Office のバージョンが異なっていると面倒なので,必要な定数は プログラム内で定義することにした。 ファイルを開くときはそれぞれの Open メソッドを使うが,採点対象ファイ ルのファイル名を取得するダイアログは Excel で行っている。Word の場合, 先に Word の Application Object を作成して,Word のダイアログを開いたとこ ろ,ダイアログが Excel のワークシートに隠れて見えないことがあったからで ある。

図3 VBA の参照設定ダイアログ

(6)

Excelからファイルダイアログを開くのは次のようにした。 Private Function GetFileName() As String

With Application.FileDialog(msoFileDialogFilePicker) .InitialFileName = ActiveWorkbook.Path

.Filters.Add “Word File”, “*.doc ; *.docx ; *.odt” .FilterIndex = 1

.AllowMultiSelect = False If .Show() = True Then

GetFileName = .SelectedItems(1) Else GetFileName = “” End If End With End Function FilterIndexは,複数のファイルフィルターを設定したとき,何番目のフィル ターを使うかを指定するのだが,ここではひとつなので1にしてある。これは 省 略 可 能 で あ る。こ の 例 は Word 用 で あ る が,Excel と PowerPoint の と き は Filterを次のように変える。

.Filters.Add “Excel File”, “*.xls ; *.xlsx ; *.ods” .Filters.Add “Ppt File”, “*.ppt ; *.pptx ; *.odp”

拡 張 子 に odt,ods,odp が 追 加 し て あ る の は,OpenOffice. org で 作 成 し た フ ァ イ ル も 対 象 に し た か っ た か ら で あ る。た だ し,PowerPoint の 課 題 に SmartArtを使って,OpenOffice. org どころか Office2003でも作成できない課題 を作ってしまったのでそれが不可能になった。現状は Word の課題1くらいし か対応していない。

正規表現の利用

VBAの中で正規表現を使うために VBScript の RegExp オブジェクトを使っ ている。

(7)

正規表現オブジェクトの作成 Dim objRe As Object

Set objRe = CreateObject(“VBScript.RegExp”)

文字列の検索 objRe.Pattern = “正規表現” objRe.IgnoreCase = False objRe.Global = False objRe.test(検索対象の文字列) 文字列の抽出 Dim mo

Dim strMatch as String objRe.Pattern = “正規表現” Set mo = objRe.Execute(対象の文字列) strMatch = mo(0).Value これにより strMatch に正規表現にマッチする最初の文字列が得られる。 文字列の置換 objRe.Pattern = “正規表現” strReplacedString = objRe.Replace(入力文字列,置換文字列) ! Word の課題 Word の課題1は簡単な案内文の作成である。図4にその見本を示す。 受講生には見本を PDF 形式で提供し,次の指示を与える。 課題1への指示 1.用紙は A4判を縦長に使う。 2.上下左右の余白をそれぞれ30mm に設定する。 Microsoft Office 課題の自動採点プログラム ―7―

(8)

図4 Word の課題1

(9)

3.標準の文字サイズを10.5ポイント(Word の標準設定)のままにする。 4.1ページの行数を36行にする。 5.発信日を右揃えにする。 6.発信者の2行を右揃えする。 7.タイトルのフォントを『MSP ゴシック』,フォントサイズを16ポイ ント,フォントスタイルを標準(太字や斜体にしない),行揃えを中 央揃えにする。 8.段落の先頭行は1字空白を入れて字下げする。(「香川大学では…」と 「つきましては…」の2行) 9.「敬具」を右揃えにする。 10.「記」を中央揃えにする。 11.別記の内容を全体に4文字右にインデントし,10文字の位置にタブ を設定する。タブの行揃えは左揃え,タブのリーダーはなしにする。 (空白によるインデントは正解になりません。) 12.「以上」を右揃えにする。 13.作成者の学籍番号と○○○○を自分の学籍番号と氏名に修正する。 補足 案内文のテキストデータは掲載の PDF ファイルからコピーして使ってもか まいません。 Word 文書ファイルの Open

Dim objWord as Object Dim ObjDoc as Object

Set objWord = CreateObject(“Word.Application”) objWord.Visible = False

Set objDoc = objWord.Documents.Open(FileName : =strWordFileName, _ ReadOnly : =True)

(10)

ここで objWord は Word. Application を,objDoc は Word. Document を表すオ ブジェクト変数である。

objWord. Visibleを False に設定すると,Word 文書の表示を抑制できる。

Word 文書ファイルの Close

objDoc.Close SaveChanges : =False objWord.Quit ファイルを閉じるときに,SaveChanges : =False を指定しているのは,プロ グラムで文書の設定を読み出しただけでファイルが更新されたと判断されるこ とがあるらしく,閉じるときに名前を付けて保存するかと問い合わせるダイア ログが表示されるのを避けるためである。 ページ設定情報 用紙サイズは用紙の縦と横の長さとして設定されている。 Documentオブジェクト. PageSetup. PageWidth

Documentオブジェクト. PageSetup. PageHeight

単位がポイントなので Word. Application のメソッド PointsToMillimeters でミリ メートルに変換して判定する。

用紙の向きは Word においては「印刷の向き」と表示されるが,意味がわか

りにくいので,「用紙の向き」と呼ぶことにした。

Documentオブジェクト. PageSetup. Orientation の値が wdOrientPortrait か wdOrient Landscapeかで判定する。

余白

Documentオブジェクト. PageSetup. TopMargin Documentオブジェクト. PageSetup. BottomMargin Documentオブジェクト. PageSetup. LeftMargin Documentオブジェクト. PageSetup. RightMargin 単位はポイントである。

(11)

通常はこれでよいのだが,複数のセクションを持つ文書の場合はこれらの値 が不定になっていることがある。対策として余分なセクション区切りが含まれ ている場合には警告を表示し,かつ次のようにして先頭のセクションの値を使 うことにした。

Documentオブジェクト. Sections(1). PageSetup. TopMargin

PDFをコピーしてそのまま Word に貼り付けるとセクション区切りが作成され

ることがある。テキストだけを貼り付けるときは問題ない。

1ページの文字数と行数の指定

Documentオブジェクト. PageSetup. LayoutMode が wdLayoutModeDefault なら ば標準モード,wdLayoutModeLineGrid ならば 行 数 だ け を 指 定 す る モ ー ド, wdLayoutModeGridならば文字数と行数を指定するモードである。 段落の行揃え Wordでは単に配置と表示されるが,配置には水平方向と垂直方向の配置が あるので,ここでは水平方向の配置を行揃えと表記する。 行揃えは Paragraph オブジェクトの Alignment プロパティに設定されている。 その値が wdAlignParagraphLeft なら 左 揃 え,wdAlignParagraphCenter な ら 中 央 揃え,wdAlignParagraphRight なら右揃え,wdAlignParagraphJustify なら両端揃 えである。 フォント

パラグラフに設定されているフォント名 Paragraphオブジェクト. Font. Name フォントサイズ Paragraphオブジェクト. Range. Font. Size

フォントの太字設定 Paragraphオブジェクト. Range. Font. Bold

パラグラフ先頭行の1字下げ

先頭行に1字下げのインデントを設定するか,行頭に全角空白1文字が挿入 されていれば正解にする。フォントが等幅文字であれば全角空白による1字下 Microsoft Office課題の自動採点プログラム ―11―

(12)

げは認めてもよいであろう。

インデントは Paragraph オブジェクトの Range. ParagraphFormat. CharacterUnit FirstLineIndentに設定されている。FirstLineIndent はポイント単位,CharacterUnit FirstLineIndentは文字単位の値である。

タブの設定

i番目のタブの位置(単位は文字)

Paragraphオブジェクト. Range. ParagraphFormat. TabStops(i). Position i番目のタブの行揃え

Paragraphオブジェクト. Range. ParagraphFormat. TabStops(i). Alignment i番目のタブのリーダー

Paragraphオブジェクト. Range. ParagraphFormat. TabStops(i). Leader タブリーダーの設定値 なし wdTabLeaderSpaces 点線 wdTabLeaderDots 破線 wdTabLeaderDashes 直線 wdTabLeaderLines 中点 wdTabLeaderMiddleDot Wordの課題2は図と表を含む2ページの報告書の作成である。その見本を 図5,図6に示す。 Word の課題2の指示文 1.A4判用紙を縦長に使い,上下左右の余白を25mm にする。 2.1ページの文字数と行数は設定しない(Word では標準の文字数)。 3.組み込みスタイルの「標準」を次のように設定する。 日本語用フォント MS明朝 英数字用フォント Century Schoolbook ―12― 香川大学経済学部 研究年報 51 2011

(13)

図5 Word の課題2の1ページ目

(14)

図6 Word の課題2の2ページ目

(15)

文字サイズ 10pt 行間隔の行間 最小値 行間隔の間隔 17pt 4.『情報リテラシー課題「インターネットの進展」』をヘッダーに表示する。 5.ヘッダーの行揃えを左寄せにする。 6.ヘッダーの位置は用紙上端から15mm の位置から始まるように設定する。 7.フッターにページ番号を表示し,行揃えは中央揃えにする。 8.フッターの位置は用紙下端から12mm で終わるようにする設定する。 9.日付を右揃えにする。 10.学籍番号氏名の学籍番号と氏名を自分のものに変更し,行揃えは右揃えに する。 11.「インターネットの進展」をタイトルとし,組み込みスタイルの「表題」に 設定する。 12.表題のスタイルを次のように設定する。 スタイルのフォント MS P ゴシック スタイルのフォントサイズ 14pt スタイルのフォントスタイル 標準 スタイルの行揃え 中央揃え 13.次の各行を節見出しとして組み込みスタイル「見出し1」に設定する。 1 インターネットの歴史 2 世界のインターネット利用者数 3 日本のインターネット利用者数 4 利用目的 5 むすび 参考文献 14.組み込みスタイル「見出し1」を次のように変更する。 スタイルの日本語用フォント MS ゴシック スタイルの英数字用フォント Arial スタイルのフォントサイズ 11pt Microsoft Office 課題の自動採点プログラム ―15―

(16)

スタイルのフォントスタイル 標準 15.インターネットの画像を埋め込み次のように設定する。 高さと幅を共に50%に縮小する。 垂直位置 段落の上端 水平位置 段落の右端 16.テーブルを作成し次のように設定する。 テーブル全体を中央揃えに配置する。 行・列共に見出しセルの背景色を明るい色に設定する。 17.利用者数の画像を埋め込み次のように設定する。 高さと幅を共に50%に縮小する。 水平位置 中央揃え 18.利用目的の3項目を箇条書きにする。 番号付き箇条書にアラビア数字を使い,左側インデントを2字にする。 19.Mixi,Twitter の利用者数の画像を埋め込み次のように設定する。 高さと幅を共に60%に縮小する。 水平位置 中央揃え 20.参考文献の各項目を次のように設定する。 1行目のインデント 0字 2行目以降のインデント 1字 ヘッダーとフッターの位置

Documentオブジェクト. PageSetup. HeaderDistance Documentオブジェクト. PageSetup. FooterDistance

ヘッダー位置は用紙の上端からヘッダーの上端までの距離,フッター位置は 用紙の下端からフッターの下端までの距離である。ただし,Word ではヘッダ ーもフッターも標準では2行分の領域が確保されている。

(17)

ヘッダーの内容

Documentオブジ ェ ク ト の Sections(1). Headers(wdHeaderFooterPrimary). Range. Text

フッターの内容

Documentオ ブ ジ ェ ク ト の Sections(1). Footers(wdHeaderFooterPrimary). Range. Text

スタイル

スタイルは Document オブジェクトの Styles コレクションである。例えば「標 準」の Style オブジェクトは次のように指定する。

Documentオブジェクト. Styles(“標準”)

日本語用フォント名 Styleオブジェクト. Font. NameFarEast 英数字用フォント名 Styleオブジェクト. Font. NameAscii 文字サイズ Styleオブジェクト. Font. Size

行間隔の行間(Word のダイアログの表記による) Styleオブジェクト. ParagraphFormat. LineSpacingRule

この値が,wdLineSpaceSingle なら1行,wdLineSpaceAtLeast なら最小値などと なっている。

行間隔の間隔(Word のダイアログの表記による) Styleオブジェクト. ParagraphFormat. LineSpacing 単位はポイント

図形

Wordは図形を Shapes と InlineShapes に分けて管理している。

オートシェイプは常に Shapes である。その他はレイアウトによってどちら かになる。この課題では1ページ目の右上にあるインターネットを表す画像が Shapesである。この画像はファイルで提供し,それを埋め込んで段落に配置 するように指示して,そのサイズと位置を確認している。残念ながら図の内容 は確認はできていない。 Microsoft Office課題の自動採点プログラム ―17―

(18)

画像の高さ Shapeオブジェクト. Height 画像の幅 Shapeオブジェクト. Width 単位はピクセル 画像の垂直位 Shapeオブジェクト. Top 画像の水平位置 Shapeオブジェクト. Left 単位はポイント。右端のときは Left が wdShapeRight になっている。 InlineShapesのときは文字と同様に水平位置の確認に Alignment が使える。 InlineShapeオブジェクト.Range.ParagraphFormat.Alignment 箇条書き 特定の Paragraph が箇条書きになっているかどうか Paragraphオブジェクト. Range. ListParagraphs. Count この値が正であれば箇条書きになっている。

箇条書きスタイル

Paragraphオブジェクトの次の値に設定されている。 . Range. ListFormat. ListTemplate. ListLevels(1). NumberStyle アラビア数字 wdListNumberStyleArabic ローマ数字大文字 wdListNumberStyleUppercaseRoman ロー数字小文字 wdListNumberStyleLowercaseRoman 英字大文字 wdListNumberStyleUppercaseLetter 英字小文字 wdListNumberStyleLowercaseLetter 丸付き数字 wdListNumberStyleNumberInCircle あいうえお wdListNumberStyleAiueo イロハ wdListNumberStyleIroha 黒丸 wdListNumberStyleBullet ―18― 香川大学経済学部 研究年報 51 2011

(19)

テーブル

文書に含まれるテーブルの数 Documentオブジェクト. Tables. Count 行数 Tableオブジェクト. Rows. Count

列数 Tableオブジェクト. Columns. Count

表の水平位置 Tableオブジェクト. Rows. Alignment

Cellオブジェクト(i 行,j 列の要素) Table オブジェクト. Cell(i, j) セルの背景色 Cellオブジェクト. Shading. BackgroundPatternColor この値が wdColorAutomatic でなければ何かが設定されている。

インデント

パラグラフのインデントは Paragraph オブジェクトの

. Range. ParagraphFormat. CharacterUnitLeftIndentに設定されている。 +は字下げ,−は逆方向で,いわゆるぶら下げインデント

先頭行のインデントは同様に

. Range. ParagraphFormat. CharacterUnitFirstLineIndentに設定されている。 FirstLineIndentはポイント単位,CharacterUnitFirstLineIndent は文字単位の値で ある。

ページ数

Documentオブジェクト. BuiltInDocumentProperties(“Number of Pages”) この方法ではファイルが更新されるらしく終了するとき保存するかと聞かれる ので objDoc. Close のオプション設定が必要である。次の方法でも確認できる。 Wordアプリケーション. ActiveWindow. ActivePane. Pages. Count

この場合はオプション設定がなくても聞かれない。 ! Excel の課題

Excelの課題1は,数式と表計算関数を使う簡単な集計表を作成する課題で

ある。その見本を図7に示す。

(20)

Excel の課題1の指示 1.シートの枚数を1枚だけにし,その名前を「模擬店売上」にする。 2.タイトルとしてA1に「模擬店売上一覧」と入力し,A1と B1のセルを 結合,文字の配置を左揃え,フォントサイズを16pt にする。 3.D2の学籍番号,E2の氏名を自分のものに変更する。 4.A3:E3に図のように文字を入力し,それぞれの文字を中央揃えにする。 5.A4:A9,C10,C11に図のように文字を入力する。 6.D4にホットコーヒーの金額(金額=単価×数量)を計算する式を入力す る。 7.D4の式を D5:D9にコピーする。コピーされた式は正しい結果を表示 しなければならない。 8.D10に関数 SUM を使って D4:D9の合計を計算する式を入力する。 9.D11に関数 AVERAGE を使って D4:D9の平均を計算する式を入力する。 10.E4にその商品の金額が売上平均より大きいか等しければ“大”,そうで なければ“小”と表示する式を入力する。 図7 Excel の課題1 ―20― 香川大学経済学部 研究年報 51 2011

(21)

11.E4の式を E5:E9にコピーする。コピーされた式は正しい結果を表示し なければならない。 12.D4:D11の書式をカンマ表示にする。 13.列A の幅を15字にする。 14.行1の高さを24pt にする。 15.図と同様にセルの背景色を明るい色に設定する。 16.図と同様に罫線を表示する。 補足 自己採点ワークシートでは式の結果だけでなく,式そのものが正しいかどう かを判定しているところがあります(D4:E9)。故意に複雑にしたような式 は正解であっても間違いと判定されることがあります。単純な式で解答してく ださい。絶対参照を指定する$については不要な$があっても正解になりま す。 採点項目ワークシート Excel の採点項目にはセル範囲の指定を追加した。Excel では,どのセル, またはどのセル範囲に何を設定するかという指定が多いためである。指定は Excel と同様に A1または A1:B1のようにセル番地かセル範囲を記述する。

Workbook を開く

採点プログラム自身がひとつのWorkbook である。それに加えて採点対象の Workbook を開くので複数の Workbook が開かれることになる。識別を簡単に するために最初に採点プログラムだけが開かれている状態を確認するように し,oPrimBook にそれを設定する。

Dim oPrimBook as Object Set oPrimBook = Workbooks(1)

(22)

開かれている Workbook の数は次のプロパティで取得する。 Workbooks. Count

取得したファイル名の Workbook を開くには次のようにしている。 Set objBook = Workbooks.Open(filename : =strExcelFileName, _ ReadOnly : =True)

objBook.Windows(1).Visible = False Set oUserSheet = objBook.Sheets(1)

ここで objBook は採点 対 象 の Workbook,oUserSheet は そ の Worksheet を 表 すオブジェクト変数である。objBook. Windows(1). Visibleを False に設定する ことにより,採点対象の Workbook の表示を抑制できる。True にすれば表示さ れる。

ワークシート

ワークシートの数 Workbookオブジェクト. Worksheets. Count i番目の Worksheet に設定された名称

Workbookオブジェクト. Sheets(i). Name

セルとセル範囲

そのセル範囲を文字列 strRange に読み込み Range オブジェクト変数 oRange に Range を設定する。

Dim strRange As String Dim oRange As Range

Set oRange = oUserSheet.Range(strRange)

以下,Range オブジェクト.∼としているのはすべてこれである。 セルに設定された文字列

Worksheetオブジェクト. Cells(i, j). Value

(23)

セル結合

Rangeオブジェクト.MergeCells が True かどうかで判定する。 行揃えは Range オブジェクトの HorizontalAlignment の値で判定する。 フォントサイズは Range オブジェクトの Font. Size に設定されている。 文字列 Rangeオブジェクト. Value

数値

数値を小数何桁まで確認するのかは項目欄に「数値小数桁 n」のように記述 しておき,Round(x, n)によりその桁数まで確認する。

数式 Rangeオブジェクト. Formula 背景色 Rangeオブジェクト. Interior. Color

色は BGR の3バイトである(RGB の順ではない)。 明るさを次の関数で判定した。

Private Function ColorBrightness(ByVal c As Long) As Long ColorBrightness = Int((c Mod 256 + Int(c / 256) Mod 256 + _ Int(c / 65536)) / 256)

End Function 罫線

Rangeオブジェクトのすべての罫線が設定されているかどうかで確認した。

Private Function gridtest(ByVal strRa As String) As Boolean Dim oRa

Set oRa = oUserSheet.Range(strRa) gridtest = _

oRa.Borders(xlEdgeLeft).LineStyle = xlContinuous And _ oRa.Borders(xlEdgeTop).LineStyle = xlContinuous And _ oRa.Borders(xlEdgeBottom).LineStyle = xlContinuous And _ oRa.Borders(xlEdgeRight).LineStyle = xlContinuous And _ oRa.Borders(xlInsideVertical).LineStyle = xlContinuous And _ oRa.Borders(xlInsideHorizontal).LineStyle = xlContinuous End Function

(24)

罫線のスタイルは Excel VBA のヘルプに記述がある。 Excel開発者用リファレンス > XlLineStyle > 列挙

列の幅(単位は文字)

Worksheetオブジェクト. Columns(strRange). ColumnWidth 行の高さ(単位はポイント)

Worksheetオブジェクト. Rows(strRange). RowHeight

書式

カンマ表示

Rangeオブジェクト. NumberFormatLocal の左端4文字が“#,##”になっ ていることで確認している。カンマ表示に設定すると Range オブジェクト. Styleが“Comma[0]”に設定されるらしいが,NumberFormatLocal の方が正し いようである。 今回は使わなかったが,その他の書式 標準 “G/標準” 文字列 “@” パーセンテージ “0%”,“0.0%”,“0.00%” 数式の正解の保護 Wordの採点プログラムには設定値が書いてあって,それが見えても問題は ないが,Excel の採点プログラムでは正しい数式を見せるわけにはいかない。 そこで,数式の正解を VBA マクロの中に記述し,その VBA プロジェクトを パスワードで保護することにした。Excelにはいくつかの保護機能があるので, 記録のためにその手順を掲載しておく。 VBA プロジェクトにパスワードを設定する手順 ! ワークシートを表示している状態で「開発」タブの「Visual Basic」をク リックして Visual Basic を表示する。 ―24― 香川大学経済学部 研究年報 51 2011

(25)

" もし,画面左側にプロジェクトペインが表示されていなかったらメニュー 「表示」→「プロジェクトエクスプローラー」を選択して表示する。 # 左ペインのエクスプローラーから,「VBAProject(ファイル名)」を右クリッ クして「VBAProject のプロパティ(E)」を選択する。 $ ダイアログが出てくるので,タブの「保護」をクリック。 % プロジェクトのロックの枠の「プロジェクトを表示用にロックする(V)」 にチェックを入れる。 & パスワード欄にパスワードを入力し,「OK」をクリックする。 保護された VBA プロジェクトを表示する手順 ! ワークシートを表示している状態で「開発」タブの「Visual Basic」をク リックしてVisual Basic を表示する。 " VBAProject(ファイル名)が閉じた状態で表示されるのでその左端の「+」 ボックスをクリックする。 図8 VBA マクロを保護するパスワードの設定 Microsoft Office 課題の自動採点プログラム ―25―

(26)

# パスワード入力を促されるのでパスワードを入力する。 保護された VBA プロジェクトの保護を解除する手順 ! 上記「保護された VBA プロジェクトを表示」によりプロジェクトを表示 する。 " 左ペインのエクスプローラーから,「VBAProject(ファイル名)」を右クリッ クして「VBAProject のプロパティ(E)」を選択する。 # ダイアログが表示されるので,タブの「保護」をクリック。 $ プロジェクトのロックの枠の「プロジェクトを表示用にロックする(V)」 のチェックを消す。 % パスワード欄を空白にして「OK」をクリックする。 数式の採点 正しい結果を与える数式は無限に存在するので,結果の値が正しいことと, 数式の形がそれらしくなっていることを組み合わせて判定している。関数を使 うように指定しているものはその関数が使われているかどうかだけを調べた。 Excel の課題2はグラフを作成する課題である。その見本を図9に示す。 Excel の課題2の指示 1.サイズが概ねA10: G26に重なるように調整する。 2.横軸が月,縦軸が売上高になるようにする。 3.上部にタイトルを表示する。 4.タイトルは「部門別売上高の推移」。 5.フォントは「MS P ゴシック」,サイズは18pt,太字にしない。 6.軸ラベルを挿入して縦軸の上の方に移動「(単位:千)」。 7.プロットエリアを左端まで拡張する。 8.縦軸目盛の上限を10000に変更する。 ―26― 香川大学経済学部 研究年報 51 2011

(27)

9.目盛間隔を2000にする。 10.補助目盛間隔を1000にして表示する。 11.目盛線を実線に,補助目盛線を破線にする。 12.プロットエリアの背景を明るい色にする。 13.凡例をグラフの右側に表示する。 14.学籍番号,氏名を自分のものに変更する。 図9 Excel の課題2 Microsoft Office 課題の自動採点プログラム ―27―

(28)

グラフ

グラフはワークシートの ChartObject オブジェクトの中の Chart オブジェクト になっている。グラフがひとつであれば最初の ChartObject の中にある。頻繁 に使用するので Chart オブジェクト変数を導入した。

Dim oChart as Object

Set oChart = oUserSheet.ChartObjects(1).Chart

グラフの種類 Chartオブジェクトの ChartType に設定されている。使いそうなものだけを登 録した。 2D 縦棒グラフ xlColumnClustered 3D 縦棒グラフ xl3DColumnClustered 円柱縦棒グラフ xlCylinderColClustered 3−D 円グラフ xl3DPie 集合縦棒グラフ xlColumnClustered 積み上げ縦棒グラフ xlColumnStacked

データ系列数 Chartオブジェクト. SeriesCollection. Count データ系列名 Chartオブジェクト. SeriesCollection(n). Name データ系列範囲

系列名が直接取り出せるので系列範囲もあると考えて探したが見つからず, Formulaの中に入っている範囲を取り出した。

Chartオブジェクト. SeriesCollection(n). Formulaの内容は次のようになってお り,括弧の中の3つ目が系列範囲である。

=SERIES(Sheet1!$B$4,Sheet1!$A$5: $A$7,Sheet1!$B$5: $B$7,1) グラフのサイズ Chartオブジェクト. Width Chart オブジェクト. Height 単位はポイント

グラフタイトルの確認 Chartオブジェクト. HasTitle

(29)

文字タイトルテキスト Chartオブジェクト. ChartTitle. Text フォント名 Chartオブジェクト. ChartTitle. Font. Name

フォントサイズ Chartオブジェクト. ChartTitle. Characters. Font. Size 上位置 Chartオブジェクト. ChartTitle. Top

太字設定 Chartオブジェクト. ChartTitle. Characters. Font. Bold 横軸の確認 Chartオブジェクト. HasAxis(xlCategory) 縦軸

表示 Chartオブジェクト. HasAxis(xlValue) 上位置 Chartオブジェクト. Axes(xlValue). Top 左位置 Chartオブジェクト. Axes(xlValue). Left

最小値 Chartオブジェクト. Axes(xlValue). MinimumScale 最大値 Chartオブジェクト. Axes(xlValue). MaximumScale 目盛間隔 Chartオブジェクト. Axes(xlValue). MajorUnit 補助目盛間隔 Chartオブジェクト. Axes(xlValue). MinorUnit 目盛線 Chart. Axes(xlValue). HasMajorGridlines

目盛線スタイル

Chartオブジェクト. Axes(xlValue). MajorGridlines. Format. Line. DashStyle 補助目盛線表示 Chartオブジェクト. Axes(xlValue). HasMinorGridlines 補助目盛線スタイル

Chartオブジェクト. Axes(xlValue). MinorGridlines. Format. Line. DashStyle 凡例の表示 Chartオブジェクト. HasLegend

凡例の上位置 Chartオブジェクト. Legend.Top 判例の左位置 Chartオブジェクト. Legend.Left

プロットエリアの背景色 Chartオブジェクト. PlotArea. Format. Fill. ForeColor この値が vbWhite なら白または未設定 目盛線のスタイルは Line. DashStyle に設定されている。 msoLineSolid 実線 msoLineSysDash 点線(角) msoLineSysDot 点線(丸) Microsoft Office課題の自動採点プログラム ―29―

(30)

msoLineDash 破線 msoLineDashDot 一点鎖線 msoLineDashDotDot 二点鎖線 msoLineLongDash 長破線 msoLineLongDashDot 長鎖線 msoLineLongDashDotDot 長二点鎖線 ! PowerPoint の課題 プレゼンテーションに関して学習すべき大事なことは PowerPoint の使い方 ではないのだが,ここではあえて自動採点できる課題を作ってみた。そのスラ イドを図10に示す。スライドを作成する過程でプレゼンテーションの仕方も 学習できるように配慮はしたつもりである。 課題はなるべく Office2003と OpenOffice.org でも作成可能なように作る方 針だったが,PowerPoint に関しては SmartArt を使ったので Office2007以降で ないと作成できなくなった。SmartArt を使うと高品質のスライドが作成できる 点を評価した。 PowerPointではひとつのプレゼンテーショ ン フ ァ イ ル が Presentation オ ブ ジェクトである。通常のスライドは Slide オブジェクトの集合として管理され, 各スライド上の要素は Shape として管理されている。Shape オブジェクトを識 別するために課題試作品のすべての Shape オブジェクトを書き出してみた。そ れを表1に示す。表1でわかるように Shape. Type は多くが msoPlaceholder で あり,これではその違いを識別しにくい。Shape. Name の方が内容がわかるが, Office2007で読み出したときと2010で読み出したときの表示が異なっている ことがわかる。実は PowerPoint2007と2010で作成したスライドには違いがあ り,2010で 作 成 し た も の に は,こ れ 以 外 に“Content Placeholder”,“Slide Number Placeholder”という名前が使われていることがわかった。プログラム では日本語に変換してから使用するようにした。この一覧からわかるように背 景画像は Shape には含まれていない。

PowerPointのプレースホルダーはそれぞれの目的に合わせて使う方がよい。 ―30― 香川大学経済学部 研究年報 51 2011

(31)

図10 プレゼンテーションの課題として作成した7枚のスライド

(32)

Slide 番号

Shape 番号

Shape.

Type Type定数 2007の Shape. Name 2010の Shape. Name 1 1 14 msoPlaceholder タイトル 1 Title1 1 2 14 msoPlaceholder サブタイトル 2 Subtitle2 1 3 17 msoTextBox テキスト ボックス 3 TextBox3 1 4 14 msoPlaceholder スライド番号プレースホル ダ 5 スライド番号プレースホル ダ 5 2 1 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 2 2 14 msoPlaceholder タイトル 3 Title3 2 3 24 msoIgxGraphic 図表 4 Diagram4 3 1 14 msoPlaceholder コンテンツ プレースホル ダ 1 コンテンツ プレースホル ダ 1 3 2 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 3 3 14 msoPlaceholder タイトル 3 Title3 4 1 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 4 2 14 msoPlaceholder タイトル 5 Title5 4 3 24 msoIgxGraphic 図表 7 Diagram7 5 1 14 msoPlaceholder コンテンツ プレースホル ダ 4 コンテンツ プレースホル ダ 4 5 2 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 5 3 14 msoPlaceholder タイトル 3 Title3 6 1 14 msoPlaceholder コンテンツ プレースホル ダ 1 コンテンツ プレースホル ダ 1 6 2 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 6 3 14 msoPlaceholder タイトル 3 Title3 6 4 3 msoChart グラフ 4 Chart4 6 5 17 msoTextBox テキスト ボックス 5 TextBox5 7 1 14 msoPlaceholder コンテンツ プレースホル ダ 1 コンテンツ プレースホル ダ 1 7 2 14 msoPlaceholder スライド番号プレースホル ダ 2 スライド番号プレースホル ダ 2 7 3 14 msoPlaceholder タイトル 3 Title3 表1 PowerPoint の Shape オブジェクト ―32― 香川大学経済学部 研究年報 51 2011

(33)

そうしないとその機能を正しく利用できないことがある。たとえばスライドの タイトルはタイトルプレースホルダーに書くべきで,そうすることにより, PowerPoint はそれをタイトルとして認識する。 コンテンツプレースホルダーは標準のプレースホルダーで,主要なコンテン ツをここに置くことができる。文字の書式が設定されているので,文字データ を入力するのによい場所である。 PowerPoint ファイルの Open

Dim aPPT as Object Dim oPPT as Object

Set aPPT = CreateObject(“PowerPoint.Application”) aPPT.Visible = True

Set oPPT = aPPT.Presentations.Open(filename : =strPPTFileName, _ ReadOnly : =True)

oPPT を Microsoft は Presentation オブジェクトと呼んでいるが,長いのでここ では oPPT のままで使う。

PowerPoint は非表示で Open することができないので aPPT.Visible は True にし ておかなければならない。

PowerPoint ファイルの Close

普通にオプションなしで Close して問題は起きていない。 oPPT.Close

aPPT.Quit

スライドの数 oPPT. Slides. Count テンプレート名 oPPT. TemplateName

各スライドは表示順にインデックスが付いている。以下は1枚のスライドに ついての情報である。

スライドの要素数 Slide オブジェクト. Shapes. Count

(34)

スライドタイトル

タイトルプレースホルダーオブジェクト. TextFrame. TextRange. Text スライドサブタイトル

サブタイトルオブジェクト. TextFrame. TextRange. Text スライド番号

スライド番号プレースホルダーオブジェクト. TextFrame. TextRange. Text 背景の画像

Slideオブジェクト. Background. Fill. Type が msoFillPicture ならば設定されて いる。

箇条書き

項目数 Shapeオブジェクト. TextFrame. TextRange. Paragraphs. Count テキスト Shapeオブジェクト. TextFrame. TextRange. Paragraphs(i). Text iは箇条書きを含む Shape オブジェクトの i 番目の Paragraph を表す。

グラフ(PowerPoint で作成されたグラフ)

独立した Shape になっている場合と,コンテンツプレースホルダーの中にあ る場合がある。

Shapeの場合 Shapeオブジェクト. HasChart コンテンツプレースホルダーの場合

コンテンツプレースホルダーの HasChart プロパティで判定する。 グラフの種類 Chartオブジェクト. ChartType

グラフのタイトル Chartオブジェクト. ChartTitle. Text

SmartArt SmartArtは VBA ではグループ化されたオブジェクトとして見えるが,多く はわからなかった。PowerPoint2007以降はマクロの記録が取れないので Word の中で作成してみたが,その部分の記録は残らない。今のところ SmartArt であ るかどうかの確認と,その内部のテキストを取り出すことだけができている。 ―34― 香川大学経済学部 研究年報 51 2011

(35)

SmartArtの確認

独立した Shape になっている場合と,コンテンツプレースホルダーの中にある 場合がある。Shape オブジェクト. Type,または Shape オブジェクト. Placeholder Format. ContainedTypeが msoSmartArt であるかどうかで判定する。

グループ化されている要素数

Shapeオブジェクト. GroupItems. Count SmartArt内のテキスト

Shapeオブジェクト. GroupItems(i). TextFrame. TextRange. Text iは GroupItems のインデックス SmartArt の起動に時間がかかる テストを繰り返しているうちに SmartArt のテキスト抽出が不安定であるこ とがわかった。調べるとファイルオープン直後は GroupItems. Count がゼロに なっている場合があった。とりあえず次のプログラムで,すべての SmartArt の GroupItems. Count が正になるまで待つことにした。

Private Sub ActivateSmartArt() Dim i As Long

Dim j As Long

Dim bSmartArt As Boolean

For i=1 To oPPT.slides.Count With oPPT.slides(i) For j = 1 To .Shapes.Count bSmartArt = False

If .Shapes(j).Type = msoSmartArt Then bSmartArt = True

ElseIf .Shapes(j).Type = msoPlaceholder Then

If .Shapes(j).PlaceholderFormat.ContainedType = _ msoSmartArt Then

bSmartArt = True End If

(36)

Sleepは kernel32のライブラリーを使うので次の宣言文が必要である。 Private Declare Sub Sleep Lib“kernel32”(ByVal dwMilliseconds As Long)

! 総 合 課 題 総合課題は Word 文書の中に Excel で作成したグラフを埋め込む課題であ る。その見本を図11に示す。この課題は最後に修正指示がある。図11はその 修正前の状態である。 総合課題の指示文 1.A4判用紙を縦長に使う。 2.上下左右の余白を25mm にする。 3.1ページの文字数と行数は設定せず,それぞれのスタイルや段落で設定す る。 4.組み込みスタイルの「標準」を次のように設定する。 "日本語用フォント MS 明朝 "英数字用フォント Century Schoolbook "文字サイズ 10pt "行間隔の行間 最小値 End If If bSmartArt Then Do Until .Shapes(j).GroupItems.Count>0 Sleep(100) DoEvents Loop End If Next j End With Next i End Sub ―36― 香川大学経済学部 研究年報 51 2011

(37)

図11 総合課題

(38)

!行間隔の間隔 18pt 5.日付を右揃えにする。 6.学籍番号氏名の学籍番号と氏名を自分のものに変更し,その行を右揃えに する。 7.「シニアのネット利用が増加」をタイトルとし,組み込みスタイルの「表 題」に設定する。 8.表題のスタイルを次のように設定する。 !スタイルのフォント MS P ゴシック !スタイルのフォントサイズ 16pt !スタイルのフォントスタイル 標準 !スタイルの行揃え 中央揃え 9.参考文献の項目を次のように設定する。 1行目のインデントを0字に,2行目以降のインデントを1字にする。 (1行目と2行目でひとつの段落を構成する) 10.Excel のワークシート「年齢別利用率. xlsx」をダウンロードして,見本の ような「棒グラフ」を作成し,それを Word 文書に埋め込む。グラフへの 指示は次のとおり。 !グラフのサイズは標準のセルサイズで約横7×縦18 !グラフタイトルを「年齢別インターネット利用率の変化」としてグラフ 上部(上から10pt 付近)に表示する。 !グラフタイトルのフォントを MS P ゴシック,14pt にする。太字になっ ていたら解除する。 !縦軸目盛の最大値を100に,最小値を0に,間隔を20に,横目盛線を 非表示にする。 !縦軸ラベルを「(%)」(すべて全角文字)とし,縦軸の上部に表示する。 !凡例をグラフエリア内の上から50pt 付近に表示する。 !データラベルを表示する。並べて表示すると数字が重なるので,系列1 を内側上,系列2を外側上に表示する。 !データラベルの数値を見やすくするために,グラフ要素の間隔を50% ―38― 香川大学経済学部 研究年報 51 2011

(39)

にする。 !棒グラフの色をデータラベルが見やすいように変更する。 !周囲の枠線を非表示にする。 11.グラフを Word の文書ファイルに埋め込む。 貼り付ける際に Microsoft Office オブジェクトとして貼り付ける。図と して貼り付けると見た目は同じでも内部構造が異なるため採点プログラム で正しく認識されません。 12.Word 文書内に貼り付けた後,次のように設定する。 !行内図形として中央揃えに配置する。 !Excel のフォント設定が変わっている場合は再設定する。 13.ここまで行うと見本のようになるが,それに次の修正を行う。 !「理容率」をすべて「利用率」に置き換える。 !「9462」をすべて「9,462」(カンマは半角記号)に置き換える。 !『6歳以上の人口に占める割合は78.2%になった。』を,『6歳以上の人 口に占める割合は対前年比0.2ポイント増の78.2%になった。』に修正 する。 総合問題では埋め込まれた Excel のグラフの扱い方を説明する。 Word に埋め込まれた Excel のグラフの設定情報を取得するためには,埋め込 むときに「Microsoft Office オブジェクト」として貼り付けておく必要がある。 Word に埋め込まれたグラフは Inlineshape または Shape オブジェクトにな る。この課題ではほぼページ幅いっぱいに表示させるので Inlineshape として 埋め込まれているものとしてしている。グラフがなかったり,あるいは複数 あったりするとややこしくなるので最初にそれを確認している。

objDoc. Inlineshapes. Count により,行内要素がひとつだけあることを確認す る。次に objDoc. Inlineshapes(1).HasChart により,その要素がグラフであるこ とを確認する。

(40)

Set oChart = objDoc. Inlineshapes(1).Chart

ここまで設定できれば,Excel のグラフと同様に扱える。

注意すべき点

Excel のグラフを Word に埋め込むとフォントの管理が Word によって行わ れるらしく,フォント設定が変わってしまうことがある。そうなったときは Word で再設定する。 グラフによることであるが,ここではグラフ要素の間隔を指定している。単 位はパーセントである。 グラフ要素の間隔 Chart オブジェクト. ChartGroups(1).GapWidth ! 一 括 採 点 オリジナルの Moodle には課題を一括してダウンロードする機能がないの で,三重大学版 Moodle[4]に組み込まれている課題一括ダウンロード機能を 利用している。これを使うと全課題が次の構造を持つ一つのフォルダーに集め られる。 課題フォルダー名/ユーザー名/課題ファイル名 教師用の採点プログラムには「一括採点」のボタンを追加して,これにより, 課題フォルダーを選んで処理するようにした。一つのファイルの結果は一枚の シートに出力し,最後にサマリーとしてユーザーごとの正解の数を一覧にした シートを付けた。高速化のためにスクリーンの更新を抑制したとき,進行状況 をステータスバーに表示するようにした(図12)。 図12 一括採点中のステータスバー ―40― 香川大学経済学部 研究年報 51 2011

(41)

全表示 課題非表示 画面非更新 Word 課題1 1.92 0.89 0.75 Word 課題2 2.58 1.27 1.15 Excel 課題1 0.23 0.24 0.11 Excel 課題2 0.24 0.25 0.12 PowerPoint 課題 1.27 − 1.15 総合課題 1.37 0.78 0.68 表2 1ファイルあたりの処理時間(秒) 処理時間を測定したが,結構ばらつきがでるので目安程度と考えてもらいた い(表2)。測定に使用した環境は,CPU Intel Core i5-2405S,クロック 2.5GHz, RAM 8GB,OS Windows7Professional64bit,Office2007で あ る。表2に お け る全表示は課題ファイルと採点結果ワークシートの更新状況をそのまま表示す る設定,課題非表示は Word,Excel の課題ファイルを表示しない設定,画面 非更新は画面更新を一切しない(ステータスバーだけが更新される)設定であ る。PowerPoint は非表示にすると採点できないのでそこは空欄になっている。 これによれば Excel の採点に比べて Word,PowerPoint の採点に時間がかか ること,Word を非表示にする効果が大きいことがわかる。 採点するファイル数が多くなると,結果を出力するワークシートの数が多く なり,処理時間の増加が心配だったのでファイル数を100にしてテストした。 懸念したとおり,1ファイルあたりの処理時間が増加した。ところが,1項目 処理ごとに DoEvents を挿入したところ,ファイル数を100まで増やしても処 理時間は増えなくなった。Windows のタイムスライスが大きすぎるのか,VBA が無駄に CPU をつかんで離さないのかわからないが,これ以上の調査はして いない。表2の処理時間は DoEvents を組み込んだプログラムで測定したもの である。 Microsoft Office 課題の自動採点プログラム ―41―

(42)

! む す び

Microsoft Office の Word,Excel,PowerPoint の課題を自動採点するプログラ ムを作成し,その概要を説明した。作成した動機は採点の手間を軽減すること であるが,本来の目的は教育の手間を軽減することではなく,教育効果を高め ることである。まずその効果があったのかどうかを検証する。 全学生が満点を取った 厳密にいうと最後の総合課題は全員満点ではなかったが,これは私語を禁止 した試験形式で,時間を定めて行ったものなので除外している。つまり,Word 2問,Excel2問,PowerPoint1問の5課題については全員が満点になった。も し,これを自動採点ではなく,教師が採点し,その結果を学生に通知し,再提 出,再採点という手順でやっていたらこうは行かなかったであろう。この授業 は90分授業を15回行うことになっているが,夜間の授業であり,1日に2コ マ実施している。したがってひとつ課題を出して,来週までにやっておきなさ いといつも言えるわけではない。そういう中で全員が満点を取ってくれたのだ からその点は効果があったと言える。 採点する教師の手間は軽減された 採点の手間は劇的に軽減された。一番時間のかかる処理は Word の課題2で あったが,50人分の採点が数分で終了する。 アプリケーションプログラムの機能をより正確に理解できる。 見た目で判断していると見過ごしてしまいそうな部分でも,プログラムが きっちりと判定するので間違いを検出できる。 注意力の試験ではなくなった 作成した課題でもそうだが,指示の数はかなり多い。ややもすると注意力を 試すような問題になりかねない。不注意による間違いはプログラムが検出して くれるのでその労力は軽減される。その分,出題する方も気楽に出題できる。 一方,マイナス面としてはつぎのようなことがある。 課題内容に制限 自動採点できそうもないような課題は最初から排除している。たとえばテー ―42― 香川大学経済学部 研究年報 51 2011

(43)

マを決めてそれに沿った内容の作品を自由に作成させるような課題を自動採点 するのは難しい。学生の想像力,思考力を刺激するような課題を出題できない。 指示が細かくなる プログラムで判定することを考えると,アプリケーションのどの機能をどの ように使うかを詳細に指定しなければと考えてしまいがちである。結果とし て,特定のアプリケーションの操作方法だけの学習になってしまう可能性があ る。 自動採点を導入したことについての学生の反応は悪くはなかったように思 う。最初はプログラムの欠陥,学生の想定外の操作,Office の予想外の動作な どのために,途中でプログラムが停止してしまうことが何度かあったが,原因 の解明には学生が積極的に協力してくれた。おそらく学生としては,提出する 前に何度でもプログラムで確認できるのは都合がよかったものと考えられる。 学生による授業評価の結果はよかった。 以上,VBA による自動採点プログラムの概要を紹介した。プログラムの実 行時間をみるとまだ余裕があるので,より「賢い」プログラムに改良する余地 は大いにあると考えられる。機会があれば取り組んでみたい。 参考文献 [1]Moodle,http://moodle.org/

[2]Office2007入門セット(Word / Excel / PowerPoint),日本データパシフィック株式会社, http://www.datapacific.co.jp/

[3]岩 田 員 典,功 刀 由 紀 子,齋 藤 毅,谷 口 正 明,長 谷 部 勝 也,松 井 吉 光,古 川 邦 之, 「Excel,Word 自動採点システム HITs の構築と運用」,COM(愛知大学情報メディアセン

ター),20,11−23,2010

[4]三重大学版 Moodle ソース,http://oku.edu.mie-u.ac.jp/miemoodle/

参照

関連したドキュメント

専攻の枠を越えて自由な教育と研究を行える よう,教官は自然科学研究科棟に居住して学

プログラムに参加したどの生徒も週末になると大

謝辞 SPPおよび中高生の科学部活動振興プログラムに

日頃から製造室内で行っていることを一般衛生管理計画 ①~⑩と重点 管理計画

の dual としてトーラスに埋め込まれた Heawood グラフは.

の総体と言える。事例の客観的な情報とは、事例に関わる人の感性によって多様な色付けが行われ

このような情念の側面を取り扱わないことには それなりの理由がある。しかし、リードもまた

Office 365 のインストールが完了すると Word ・ Excel ・ PowerPoint ・ OneDrive などを使用出来ます。. Office