Insert regular hexagon in Word

坑爹的 Word 插入的六边形竟然不是正六边形,即使按住 Shift 键拖出来的也不是正六边形。当然我也有责任,Word 在插入六边形时从来没说这是正六边形(Word 插入五边形时提示是正五边形)。

虽然不是正六边形,但在没有尺子、没有参照物的情况下,我也没发现它不是正六边形。我是在画一个以正六边形为基本形状的 logo 草图,以便向设计师传达我的想法。陆陆续续画了两天,发现某两条边总是不相等——如果是在正六边形上作图,这两条边会等长。

我以为我的平面几何知识已经退化成零,一遍又一遍地验算一道只有初一几何题难度的 logo 分解图,始终不能把两条边调成等长。我甚至怀疑我的显示器纵横比出问题了,耗了两天才想起来去量一量 Word 一开始插入的六边形是不是正六边形。一量,不是,晕厥!

My hotel logo draft
My hotel logo draft

知道它不是正六边形,把它调整为正六边形就很简单了——先插入一个六边形,不用按住 Shift,按住也没用,插入的宽高比不是 1:1,也不是正六边形的应有的√3/2,必须手动调整一下宽高比成 0.866 左右。作一条水平线,再旋转 30 度,以之为基准,按住六边形的黄点,拖动直到六边形的某边与基准线重合或平行。

A simple multi-skills test

Excellent Excel
Excellent Excel
考考各位看官的猜想、推理、数学、EXCEL能力:

新建一份EXCEL表格(Google Spreadsheet 也行),在 A1:I9 的每个单元格内输入以下公式——

=IF(COLUMN()>ROW(),"",VLOOKUP(COLUMN(),$L$1:$M$9,2)&VLOOKUP(ROW(),$L$1:$M$9,2)&IF(COLUMN()*ROW()<10,"得","")&IF(COLUMN()*ROW()<10,VLOOKUP(COLUMN()*ROW(),$L$1:$M$9,2),VLOOKUP(INT(COLUMN()*ROW()/10),$L$1:$M$9,2)&"十"&VLOOKUP(MOD(COLUMN()*ROW(),10),$L$1:$M$10,2,FALSE)))

请问,应该在表格的什么地方填入什么预设值,才能让 A1:I9 的内容变得有意义?

提示:有 20 个单元格需要预设值。

Weird procurement

我觉得我的采购行为很奇怪。

A ream of Canon 80gsm copier paper
A ream of Canon 80gsm copier paper

比如,我本来想买一箱(五刀)A4 复印纸的。但发现有个网站一刀名牌 80gsm A4 复印纸,只卖 £1.95 plus VAT,竟然还是 free delivery。我就想“那它还有多少钱挣?”当然我是不担心它会亏本,我就是想看看它为单独一刀的一个订单发一个件是什么个情况,于是,我下五个单,每次一刀。

再比如,我本来想买一个 VDSL 路由器的。但在比较价格的时候,发现心仪牌子的 cable/3G dual WAN 路由器(就是没有 VDSL 功能)DrayTek Vigor 2910n,标示全新,£1.99 起拍,没人拍,真是怪事。于是我上,最后 £2.75 竞得。而真正需要的 VDSL 路由器还没着落。

Won DrayTek 2910
Won DrayTek 2910

Tips for printing on Avery Quick&Clean™ Business Cards

Avery C32026 cover
Avery C32026 cover

It is my second time using Avery Quick&Clean™ DIY business cards. The first time was very smooth so I did not remember any caveats.

This time I had printed 5 pages before I got a nice one. So I decide to write some tips for future reference.

The paper I use is Avery C32026, 270g satin finish, the thickest I can find in store. The printer is Lexmark C544dn, a colour laser printer with auto duplex feature.

Tip 1. Do not load paper in Tray 1. It is not suitable for thick paper like this. Load it in Manual Feeder.

Tip2. Do not use auto duplex. If the business card design is double sided, print one side and manually feed paper again for the other side. The auto duplex roller is a small cylinder that may snap the cards away from the frame.

Tip 3. Use the template provided by Avery and do not convert to any other format. C32026 template is a Word document. After editing, I converted it to a PDF file (I was thinking of portability). The position was changed slightly and some text was printed across the border.

Android pdf viewer

为了在 Android 打开 pdf 文档,我曾从 Android Market 里找了一个 PDF Viewer,幸好有免费的版本,安装也不困难。

最近发现 Android G1 随即自带的 QuickOffice 就支持 pdf 阅读,速度还比 PDF Viewer 快,我当初怎么就没想到它?真是糊涂!

回想一下,我糊涂也是有原因的:在 Android 到手前我还研究过怎么在 iphone 上看 pdf,花了一晚上时间也没找到一个可行的办法,忿忿地放弃(其实也没什么好忿忿的,iphone 本来就不好用,apple app store 里也没几个好软件是免费的)。Android 到手之后我就沿袭了 iphone 的研究方法,在 Android Market 很快找到了一个应用,很快地解决问题,再也没去想原来 Android 还有更现成的方案。

Format date in merge field

Formating date correctly is one of the troublesome work in all computer languages because remembering how to format is difficult.

In Microsoft Word, the formatting process is –

  1. Press Alt+F9 to show the merge field code
  2. Add the format string to {MERGEFIELD mydate }
  3. The code looks like {MERGEFIELD mydate \@ “dd/MM/yyyy” }

Change csv export file enclosed-by sign

Excel另存为CSV (comma separator)格式时,不带字段的限定符(enclosed-by sign)。

因为magento import csv前特别提醒,限定符不得为空,所以我就想着怎么把Excel CSV指定限定符为双引号。可以左找右找Excel本身不能设置限定符(连修改默认的逗号分隔符都很麻烦,要在Excel以外,Windows Control Panel->Regional Setting那里修改),倒有人提供了一个宏代码,用起来也很方便。

将Excel文件导出为逗号分隔、双引号限定的CSV文件的宏代码如下:

Sub CSVFile()

Dim SrcRg As Range
Dim CurrRow As Range
Dim CurrCell As Range
Dim CurrTextStr As String
Dim ListSep As String
Dim FName As Variant
FName = Application.GetSaveAsFilename("", "CSV File (*.csv), *.csv")

If FName <> False Then
ListSep = Application.International(xlListSeparator)
If Selection.Cells.Count > 1 Then
Set SrcRg = Selection
Else
Set SrcRg = ActiveSheet.UsedRange
End If
Open FName For Output As #1
For Each CurrRow In SrcRg.Rows
CurrTextStr = ""
For Each CurrCell In CurrRow.Cells
CurrTextStr = CurrTextStr & """" & CurrCell.Value & """" & ListSep
Next
While Right(CurrTextStr, 1) = ListSep
CurrTextStr = Left(CurrTextStr, Len(CurrTextStr) - 1)
Wend
Print #1, CurrTextStr
Next
Close #1
End If
End Sub

我们放弃了微软,还是微软放弃了我们

我们指的是有较高的计算机操作能力,但不是专业的IT从业人员。

微软有很好的产品,比如 Windows (不包括Vista)和 Office 。微软产品好就好在细微之处,比如双击普通文件,如.doc, .xls,打开的是文件本身;双击模板文件,如.dot, .xlt,打开的是模板的空白文档。因为.doc, .xls的默认操作是open,而.dot, .xlt的默认操作是new,要打开模板本身(编辑模板),得右击、从context menu里选择一个非默认操作open。

微软还有很多好的产品,可惜,我们都不熟悉。不知从什么时候开始,在很多应用上,我们想当然地决定不用微软的东西。真的很可惜,其实,平心而论,这是因为我们除了 Windows 和 Office,其他的微软产品都玩不转。

是我们放弃了微软,还是微软放弃了我们?