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

利用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

cool      歡迎引用,請注明來源出處!

作者:楊煥謀