珊瑚红批量传真软件是一款基于Windows传真服务的群发传真软件,它可以自动的给多个传真地址发送传真,而无需值守。珊瑚红批量传真软件最大优势在于,它可以根据用户的设定,按照传真地址来动态传输传真内容。
珊瑚红批量传真软件是对于Windows传真控制台的一个有效的补充,它为用户带来的最大效益是可以让用户批量的自动发送内容不同的传真,这一点在目前众多的传真群发软件里是做不到的,这一点也是该软件的重要特点。
对于珊瑚红批量传真软件在未来的发展,我有一个想法就是将该软件作为一个传真服务云的客户端而存在,通过网络手段让传真服务变得轻松,而不在像以前那样,需要为传真支付大量的通信费用。在传真云服务出现之后,所有传真的费用将统一与本地传真的费用一样了;同时,传真云服务也将使得许多众多的客户端无须安装Modem,也就是说,只要有电脑,可以上网,就可以发送传真。当然,这都是后话,还需要在以后的版本中予以实现。
珊瑚红批量传真软件目前支持Windows XP SP2,Windows 2003,以及Vista等后续版本的操作系统,同时,需要您的计算机安装了可以发送传真的调制解调器(Modem),并且,一根可以对外拔号的电话线已经正确的连接到调制解调器上。
正如前面所说,珊瑚红批量传真软件需要采用Windows传真服务为基础,为此,你还需要在使用之前设置好您的计算机的传真服务。
传真地址管理采用XML文件来管理。该传真地址列表,不单可以由该软件产生,用户也可以根据传真地址列表的格式要求自行编辑,下面的格式即为传真地址列表的XML表示格式。
<?xml version="1.0" encoding="utf-8" ?>
<FaxAddresses>
<Address>
<FaxNo>07507210001</FaxNo>
<Name>蔡立荣</Name>
<Company>高尔夫有限公司</Company>
</Address>
<Address>
<FaxNo>07509810001</FaxNo>
<Name>周立平</Name>
<Company>化工有限公司</Company>
</Address>
<Address>
<FaxNo>07528090008</FaxNo>
<Name>陈必英</Name>
<Company>食品有限公司</Company>
</Address>
</FaxAddresses>
在这里,XML文件的根结点必须以“FaxAddresses”表示,FaxAddresses下面须由节点Address组成,而Address节点下的元素则表示每个传真地址的详细信息,其中元素“FaxNo”和“Name”是必须要包含的元素,而其它元素刚作为自定义属性存在,在每一个Address节点下,可以有许多个不同名的用于表示自定义属性的元素。符合上述要求的XML格式的文件都可以被该软件所解释。
发送可变内容的传真要求在计算机里安装Microsoft Word 2000及以上版本的软件,且只支持Word格式的文档。在Word格式的文档中,可以添加叫做“域(Field)”的动态区域,选择菜单“插入”里的“域”,然后在该对话框的“域名”中选择“DocVariable”,这时“域属性”将要求输入“新名称”,输入你在XML中定义的属性,包括“FaxNo”、“Name”以及其它自定义属性的名称,并在该名称前面及后加上“_”作为前后缀,点击“确定”,相应的“域代码”就被插入到文档。这时,你可以将光标移到刚刚插入了“域”的地方,然后按右键,选择“切换域代码”,你就可以看到相应的“域代码”。将你需要动态传真的内容,以上述的方式插入到Word文档中,然后保存该文档。完成以上步骤后,我们就可以根据传真列表定义的属性来发送传真了。
软件在使用的过程中,可能会发生一些异常情况。主要有下面几种情况:
一、软件打开后,状态栏里显示了错误信息。这说明,珊瑚红没有正常的连接到传真服务,可能的原因是由于用于传真的服务没有安装、调制解调器没有安装、或传真打印机没有设置。对于这种情况,你可参考章节“准备安装”里面的内容来设置和检测。
二、打下“发送传真”后,文档没有启动发送,而是在状态栏里显示“句柄无效:6”或其它信息(正常情况下,应该是显示“等待发送”),这时说明传真的过程中,可能有一些异常情况,这种情况在发送Word、Excel文件时特别容易出现,主要原因是由于Word、Excel之类的软件有异常或者是由于一些病毒的影响,解决的办法是重新安装该软件或者使用杀毒软件进行扫描。
三、在“传真列表”的“状态”这一列,有“没有拔号音”的错误。你需要你的电脑与电话线的连接是否正确。
四、在“传真列表”的“状态”这一列,有“没有应答”或“线路忙”的错误,说明对方电话正在通话,或该号码是空号。珊瑚红批量传真软件会自动重试三次,三次不成功后就会终止该传真地址的发送。
五、在“传真列表”的“状态”这一列,有“发生错误!发送失败”的错误,说明是传真过程中发送了意想不到的问题,具体原因不清楚。珊瑚红批量传真软件会自动重试三次,三次不成功后就会终止该传真地址的发送。
当传真地址列表的以其它形式存在时,我们可以采用一些编程语言或脚本,来导出适合珊瑚红批量传真软件的格式。这里,我们给出了以Access数据库为基础的VBA程序。运行该程序可以将Access数据库里的表中的传真地址信息保存到XML文件中,以供珊瑚红批量传真软件使用。对于Excel文件或CSV文本格式表示的传真地址列表,可以先将其通过Access导入导出向导将其导入到Access数据库中,然后在Access中执行下述脚本。
Sub ExportAsXml()
Dim fi As Integer
Dim rs As DAO.Recordset
Set rs = CurrentDb.OpenRecordset("Select Company, Contact, FaxNo from FaxContacts")
fi = FreeFile
Open "D:\customers.xml" For Append As #fi
Print #fi, "<?xml version=""1.0"" encoding=""gbk""?>"
Print #fi, "<FaxAddresses>"
While Not rs.EOF
Dim strNo As String
strNo = Trim(rs("FaxNo"))
If VBA.Mid(strNo, 1, 3) = "020" Then
strNo = Mid(strNo, 4)
End If
If strNo <> "" Then
Print #fi, " <Address>"
Print #fi, " <FaxNo>" & strNo & "</FaxNo>"
Print #fi, " <Name>" & rs("Contact") & "</Name>"
Print #fi, " <Company>" & rs("Company") & "</Company>"
Print #fi, " </Address>"
End If
rs.MoveNext
Wend
Print #fi, "</FaxAddresses>"
Close #fi
End Sub
在这个程序中,我们假设在表“FaxContacts”中有三个字段“FaxNo”,“Contact”,“Company”,在导出时,分别对应XML文件中的“FaxNo”,“Name”及“Company”元素,其中“FaxNo”和“Name”是必须,“Company”是自定义的属性。导出的XML文本被保存在“D:\customers.xml”中。
在导出的过程中,如果包含中文,则需要注意输出的XML字符集等问题,防止发生导出的文件乱码。
该软件采用WTL进行的界面设计,使用LibXml2进行XML文件处理,同时植入了VBScript引擎。如有相同爱好者可以加QQ:113658882交流。