Archive for September, 2007

Sep 14 2007

Using Word checkbox form fields as radio buttons

Published by turlach under Microsoft Office, VBA

Based on an article on word.mvps.org here is an enhanced version of a routine to make Word checkbox formfields act as radio buttons when grouped by Frame or in a TableCell.

Notes:

  1. Assign routine to both Entry and Exit events
  2. Routine will work with both mouse and tab/spacebar. With tab, 2 boxes may simultaneously appear checked until you exit the selected checkbox.
  3. I trapped some kind of strange bug that occurred for me in Table cells. Details in the code.

 


Sub MakeCheckBoxesExclusive()

   Dim oField As FormField
   Dim oCheckedField As FormField
   Dim bChecked As Boolean
   Dim oContainer As Object

   On Error GoTo errtrap

   '\ Figure out if checkboxes are grouped by frame or table cell
   If Selection.Frames.Count > 0 Then
      Set oContainer = Selection.Frames(1)
   ElseIf Selection.Cells.Count > 0 Then
      Set oContainer = Selection.Cells(1)
   End If

   '\Get the value of the current checkbox
   '\If it is checked then it will be the checked box
   bChecked = Selection.FormFields(1).CheckBox.Value
   If bChecked Then
      Set oCheckedField = Selection.FormFields(1)
   Else
      '\Selected box is not checked
      '\Look through other boxes for checked box
      For Each oField In oContainer.Range.FormFields
         If oField.CheckBox.Value = True Then
            Set oCheckedField = oField
            Exit For
next_field:
         End If
      Next oField
   End If

   '\Uncheck all the boxes
   For Each oField In oContainer.Range.FormFields
      oField.CheckBox.Value = False
   Next oField

   '\Check the designated box
   If Not oCheckedField Is Nothing Then
      oCheckedField.CheckBox.Value = True
   End If

   Exit Sub

   errtrap:
   '\ This error occurred when enumerating formfields in table cells
   '\ Some fields enumerated as strings or numbers
   If Err.Number = 4120 Then
      Resume next_field
   Else
      Err.Raise Err.Number
   End If

End Sub

No responses yet

Sep 14 2007

Code signing in VBA

Published by turlach under Uncategorized

On several occasions I have encountered a spurious “Disk Full” Error when trying to save a VBA project after a digital signature was applied. Several online sources suggested that there might be a broken reference (Tools|References). In my case, I had some subroutines in the ThisDocument module that had been used to process clicks on WinForm objects that were later removed from the document. Commenting out those routines solved the problem.

No responses yet

Sep 02 2007

Website readibility

Published by turlach under Uncategorized

Courtesy of a link on digg  is a link to a study showing that most people read web pages in an F shaped pattern, reading the first two paragraphs and then down the left side of the page. Something to consider when adding content to your layout.

No responses yet

Sep 01 2007

Free ASP.NET hosting

Published by turlach under ASP.NET, Opinion, Visual Studio, dotNet

Came across this fresh posting at an MSDN blog about free ASP.NET developer hosting at Verio until Jan 2010. The price is right. In the late nineties, I was partner in a business that hosted with Verio, and was never happy with their service, but getting something for nothing is definitely a better deal.

No responses yet