『座位表製作增益集1.6』正式發佈

『座位表製作增益集1.6』正式發佈,本版本除了修正部分bug,我把主要的程式表單進行一個調整,我把與座位表相關的設定集中在一個下拉選單,另外新增『插入相片』、『座位表加上超連結』及『刪除座位表區域超連結』等功能,主程式畫面如下:

image

 

image

有興趣的讀者可以至增益集工坊免費註冊下載。

ps:部分網友反應做好的快取圖案座位表的Excel檔案,在不同的版本的Excel無法正常讀取快取圖案組成的座位表選取區,經過測試的確會發生此種現象,這個問題尚未找到確切原因,我的猜測也許是檔案格式的問題,因為我放的範例為了相容的緣故,我存成Excel97-2003的.xls檔案,在Excel2007與Excel2010讀取都正常,並無網友反應之問題,但是如果在Excel2010的以預設存檔格式存檔為.xlsx,在Excel2007讀取的確會發生這種問題,也許這兩個版本在讀取寫入.xlsx時有所差異,所以為避免產生相容的問題,建議存為Excel97-2003的.xls檔案格式。

利用『座位表製作增益集1.6』製作相片座位表

這學期教的班級數比上學期又多了一班(八個班),學生人數多到看到知道是自己教的學生,但是名字跟人對不起來,突然想到座位表應該上面放張學生的個人照,否則像電腦老師這種要教近二十個班級的科目,如何記得住學生?

剛好很久沒有更新『座位表製作增益集』這一支程式,就把加入相片的功能思索了一下,原有的『座位表製作增益集』除了可以利用Excel資料格繪製座位表,還可利用Excel的快取圖案功能製做座位表,而快取圖案本身可以加入圖片當背景,所以我的思考方向就是利用快取圖案來製作個人相片的座位表。

我把程式的主表單做了修正,版本改為『座位表製作增益集1.6』,原本的『範例』按鈕我放到功能表上的『關於』之下,把『建立座位表』按鈕移到最底部,以符合使用者的習慣,另外新增一個『插入相片』的選擇項目,主程式的擷取圖如下(圖一)

 

image(圖一)

如何利用『座位表製作增益集1.6』製作相片座位表?

讀者如果對『座位表製作增益集』基本操作不熟悉,可以參考以下文章利用『座位表製作增益集』製作特別座位表,先熟悉其基本的操作原理。

1.首先一樣要先建立學生的『座號資料』的選取區(請參考利用『座位表製作增益集』製作特別座位表),在有學生座號、姓名資料的工作表上選取,我們以程式附的範例資料來說明,資料欄位如下表格,另外因為我們要加入相片資料,所以姓名旁邊要增加一欄放置相片目錄資料,我們暫時保留空白,先進行其他步驟。

image

2.要製作具有相片功能的座位表,不能直接用Excel工作表的資料格來做,因為Excel工作表的資料格不支援圖像資料,所以我們必須使用快取圖案來取代工作表資料格,插入快取圖案功能不只在Excel中有,在Word與Powerpoint都有,所以在Word或Powerpoint所畫的快取圖案,也可以用複製、貼上的方式在Excel中使用,反之在Excel所完成的快取圖案也可貼到Word與Powerpoint。

只要點選功能區的『插入』/『圖案』就可以在工作表上加入圖案,而快取圖案可以加入文字,所以可以作為座位表的呈現圖案。而建立座位表選區域的方法,和選取資料格的方式一樣,把快取圖案當成是工作表資料格來選取(可參考利用『座位表製作增益集』製作特別座位表)。

image

我在程式所附的範例檔(seat.xls)中已經做了兩個利用快取圖案座位表的範例,要參考範例請點選功能表『關於』/『範例』,即可打開範例,我們就以範例來說明。

image

下圖二為範例中實驗分組座位表,其中代表學生座位的圓形與代表實驗桌的四方圓角形,這都是利用Excel提供的快取圖案功能所製作出來,只要畫一組,其他用複製即可,我們要在圓形的快取圖案中加入座號與姓名資料,表示學生的座位。

image(圖二)

3.如何建立『座位表區域』只要把圓形快取圖案當成資料格來處理即可,要連續選取圓形記得:請按住Crtl鍵不放,然後再點選『座位表排列工具』主表單中『座位表的區域』的『選取』鈕,然後在『輸入座位表區域的名稱』對話框輸入區域名稱,差別在『座位表的區域』的文字方塊不會出現類似工作表資料格的參考位置值,在座位表區域的下拉選單可以看到新增的選取區名稱。

image

如果只是要建立一般座位表,只要先選『座號姓名範圍』,再選取『座位表區域』,然後指定座號姓名資料填入座位表的方式,按下『建立座位表』即可將座號與姓名資料填入座位表區域,完成一份座位表。

image

 

但是我們希望建立一份帶有學生照片的座位表,所以我們還要進行下一個步驟。

5.建立學生相片資料,舉例我們已經把學生的照片蒐集在D磁碟機名為”學生相片”的目錄中,以學生座號或學號為相片的檔名,輸入學生相片檔案的目錄位置檔名資料於『姓名』的下一欄位,如下表。

image

 

6.有了相片目錄資料,再將『插入相片』勾選,會出現程式訊息提示加入相片目錄資料,按下確定。

image

image

再按照前述步驟,先選『座號姓名範圍』,再選取『座位表區域』,然後指定座號姓名資料填入座位表的方式,按下『建立座位表』,即可產生帶有相片資料的座位表如圖三,在圓形的座位區有相片、姓名、與座號。

image (圖三)

數學化學繪圖工具增益集:如何在PowerPoint繪製火箭發射動畫

有讀者看到我在youtube所放的影片,問到如何在PowerPoint2007能夠繪製出火箭發射的動畫?

以下就步驟一一說明:

1.在影片中火箭是沿著拋物線運動,所以首先我們要在PowerPoint的投影片上繪製一個拋物線作為運動軌跡,雖然PowerPoint2007『自訂動畫』提供依照『繪製自訂路徑』的功能,可以讓投影片上的圖件依照所繪製路徑移動,但是光是『繪製自訂路徑』的方式無法完全符合我們的需求,因為此功能繪出的只是平移的路徑動畫,不包括轉向的部分。

image

要達到火箭能夠沿著路徑轉彎,利用『數學化學繪圖工具增益集』在PowerPoint的動畫功能可以達到目的。

首先利用『數學化學繪圖工具增益集』的『標準函數』繪圖功能,先在投影片上繪製拋物線圖,以做為動畫路徑的準備。

image

image

在函數繪圖表單上輸入函數位置輸入 -X^2 + 0.5*X + 1

另外在『x軸掃瞄間隔數』輸入80,這個參數與路徑組成的點數有關,如果設定為80則圖形組成的點共有81點。

再按下『確定』即可在投影片上繪製一個拋物線圖形。

image

可是這個拋物線似乎太小了,我們可以選取拋物線圖形後,在圖形四周的端點標記拖拉,來進行放大縮小,將之放大至適當的大小。

image

image

2.再來要在投影片中放置火箭圖案,點選『插入』/『美工圖案』在『美工圖案』的工作面版下方點選Office Online 多媒體藝廊

image image

連至Office產品支援網站,在圖像頁籤上方利用bing搜尋的功能,打入”火箭”二字,即可找到很多火箭的圖案,我們選擇第一列第三個,點選複製至剪貼簿。

image image

在投影片貼上,再縮放至適當的大小,並且利用圖形綠色旋轉鈕功能將其轉為垂直向上。

image image image

3.將圖件都準備好,接下來要讓火箭沿著所繪製的路徑移動與轉動,我們必須把拋物線圖的座標轉成動畫路徑,所以必須在『數學化學繪圖工具增益集』/『基本設定』/『座標設定』,在『座標設定』表單中將『圖形座標轉動畫路徑』勾選,然後按下『確定』,這樣在執行『化學繪圖工具增益集』/『幾何繪圖』/『標示頂點』時不會將座標標示但是會將座標值讀取做為動畫路徑資料。

image  image image

4.將拋物線選取,再點選『化學繪圖工具增益集』/『幾何繪圖』/『標示頂點』,將拋物線81點組成座標儲存在記憶體中作為路徑座標,因為拋物線不是封閉的圖形出現以下的對話方塊請按『否』,按『是』會多一點起點座標變成封閉的圖形路徑。

image

image

5.將路徑座標讀取之後,必須指定給要沿此路徑移動之圖件,所以將火箭圖案取,注意只能選取取火箭,如果還選擇其他圖形則會產生其他的動畫結果,我們只希望產生火箭的動畫效果,所以目標鎖定就是火箭圖案。

選取火箭圖件後請點選『化學繪圖工具增益集』/『幾何繪圖』/『轉成動畫路徑』,

image

 image 請將『轉成動畫路徑』表單中『分段加時間』勾選之後,原本灰色不可選的『將路徑分段』變成可勾選,請將此參數勾選,程式會依序出現下列兩個對話框。

image 請按『是』,因為我們希望火箭會轉彎。

image 請按『否』,不要再把路徑畫出。

對話完成之後,請在『轉成動畫路徑』表單中『動畫時間(秒)』參數改設為0.1秒,代表每一個移動與轉動動畫時間為0.1秒。

image

再點選『確定』鈕,程式會詢問是否將動畫圖件複製,請按『否』,如果按『是』會在投影片上複製80個火箭圖件。

image 

6.依照上述步驟完成設定即可完成一個火箭沿拋物線運動的動畫,至於配樂與最後爆炸,就留給讀者自己去試試看吧!另外如果要轉成影片,必須使用PowerPoint2010,可參考此篇文章PowerPoint 2010可以將投影片轉成(WMV)影片,完成的範例可以在此下載

利用Word來設計電子問卷四(問卷的回收方案)(ps:帶頭升級 Office 2007,是害群之馬嗎?)

在前三篇文章我們詳述了如何利用word製作電子問卷及問卷密碼漏洞問題,但是另一個問卷調查的核心問題:如何回收問卷?我並沒有接續的詳加說明,隔了那麼久才發表。主要的原因是利用word來製作問卷這個課題,受到不少網友的質疑,認為不如網頁或利用google提供的問卷調查功能那麼方便,尤其有些絕對自由軟體的擁護者,認為這個方式又是被微軟的軟體綁架。甚至還有人傳了一篇某大學教授的文章給我(帶頭升級 Office 2007? 別當害群之馬),這一篇文章我在很久以前就看過,文章中鼓吹一個論點:不要傳遞.docx的格式檔案給別人,以免害別人被微軟綁架。(原文:散佈最新的專利檔案格式 (例如 .docx) 強迫他人升級, 就像製造二手煙一樣…)

對於這種幾乎近於宗教信仰的支持某種理念,我個人的看法是只要不要強迫別人跟著信仰就ok!

只是這篇文章強烈批判別人升級使用微軟Office的產品是害群之馬,這未免太過!

該文主張使用微軟專利格式是傳播二手煙、是傳播病毒,因為微軟的格式有專利,不是開放格式要抵制!

我的看法這種邏輯也是值得商確,現代社會設立專利保護的法律,看似只是保護專利擁有者的利益,但是背後也有推動社會進步的目的,歐美社會在科技創新與商業模式創新領先其他社會,與其對專利的高度保護有很大關係。當然不可諱言的法律不可能完美,也許過度的專利保護反而阻礙社會的進步,所以批判的對象也許不應是微軟,而是西方過度擴大的專利保護範圍!

談到這裡最近整修浴室為了徹底解決浴室臭味的問題,與水電師傅反覆實驗幾個禮拜,終於把臭味的問題,其中讓我印象深刻的是一個效果比『上不來』這種落水頭好的『防臭落水頭』,兩者價格差了6倍,因為後者有專利所以價格差很大。仔細去研究所謂的『防臭落水頭』,只是一個簡單的構想設計,把水管的儲水彎的原理,直接與落水頭結合而已,為什麼那麼多人沒有想到。

寫一篇小說是創作,不會有人批評你不免費給別人看或引用,一個小小的『防臭落水頭』設計,也有專利保護,也不會有人質疑,想一想那些埋頭苦寫程式開發軟體的人還真可憐。如果自由只能是某些人認定,這種倒底是真自由或是另一種不自由!

以上發發牢騷,看看就好!

回到主題如何回收電子問卷?派送可以用電子郵件,回收當然也可以用電子郵件,我要再次強調這個方案是針對沒有伺服器資源的人,不要再與我爭論,如果自己有網路伺服器資源,可以直接設計互動網頁的問卷調查,不需要使用這種方式!

另外解決問題的方案有很多種,這種透過電子郵件回收問卷調查資料的方法,現在已經很多像google的線上試算表文件,微軟的outlook投票功能或access收集資料的功能,雖然都有一些限制,但大致上都可以達到類似的目的。

我個人派送問卷是使用ExcelMail(請自行參閱ExcelMail3.0群組寄信軟體介紹(三):批次寄送附加檔),而回收的時候我是使用outlook來進行回收,利用outlook的規則與通知我可以將問卷的回信過濾集中在特定的資料夾。

image

例如我已經將問卷調查回信集中於”收件匣”中的”問卷調查”資料夾,我要把該資料夾中的信件附件都儲存至

“f:\問卷調查\"這個目錄。

image

如果問卷量不多我會手動去下載每一封回信的附件,但是如問卷的回信量很多,我會利用以下的用VBA寫的巨集程序,把檔案集中下載在某一個資料夾。此程序是修改微軟outlook的說明範例

Sub SaveAttachmenttodir()
    Dim myAPP As Outlook.Application
    Dim myItem As Outlook.MailItem
    Dim myAttachments As Outlook.Attachments
    Dim i As Long, j As Long

    Dim myFolder As Outlook.folder
    Dim myNamespace As Outlook.NameSpace

    Dim strfilepath As String

     strfilepath = “f:\問卷調查\"
    Set myNamespace = Application.GetNamespace(“MAPI")
    Set myAPP = Outlook.Application
    Set myNamespace = myAPP.GetNamespace(“MAPI")
    Set myFolder = myNamespace.GetDefaultFolder(olFolderInbox).folders.Item(“問卷調查")

    For i = 1 To myFolder.Items.Count
        If TypeName(myFolder.Items(i)) = “MailItem" Then
            Set myItem = myFolder.Items(i)
            Set myAttachments = myItem.Attachments
             For j = 1 To myAttachments.Count
             myAttachments.Item(j).SaveAsFile strfilepath  & myAttachments.Item(j).DisplayName
                Next j
        End If
        Next i

End Sub

使用方法:

1.首先必須有outlook2007或以上的版本

2.請打開outlook2007『工具』/『巨集』/『Visual Basic 編輯器』。

image

3.在專案下新增一個模組,把程式碼貼上即可。

 image

4.另外必須將巨集安全性設定為可執行的選項。

image

5.執行巨集SaveAttachmenttodir即可!

image