Archive
Posts Tagged ‘forms’
VBA script to more easily examine the properties of your Content Control-based forms
2014/10/09
Leave a comment
- The routine loops through the Content Controls and outputs properties as text into the VBA-Editor immediate window,
- from where it can be easily converted into an Excel-table which makes it easy t o spot and mark inconsistencies and outright oversights, like so:
Sub ccPropertiesPrint() On Error Resume Next Dim strHeadings, strProps As String Dim count As Integer Dim response strHeadings = strHeadings & "~" & "count" strHeadings = strHeadings & "~" & "Tag" strHeadings = strHeadings & "~" & "Title" strHeadings = strHeadings & "~" & "Type" strHeadings = strHeadings & "~" & "DefaultTextStyle" strHeadings = strHeadings & "~" & "Application" strHeadings = strHeadings & "~" & "BuildingBlockCategory" strHeadings = strHeadings & "~" & "BuildingBlockType" 'strHeadings = strHeadings & "~" & "Checked" 'strHeadings = strHeadings & "~" & "Creator" 'strHeadings = strHeadings & "~" & "DateCalendarType" 'strHeadings = strHeadings & "~" & "DateDisplayFormat" 'strHeadings = strHeadings & "~" & "DateDisplayLocale" 'strHeadings = strHeadings & "~" & "DateStorageFormat" 'strHeadings = strHeadings & "~" & "DropdownListEntries" strHeadings = strHeadings & "~" & "ID" strHeadings = strHeadings & "~" & "LockContentControl" strHeadings = strHeadings & "~" & "LockContents" strHeadings = strHeadings & "~" & "MultiLine" 'strHeadings = strHeadings & "~" & "Parent" strHeadings = strHeadings & "~" & "ParentContentControl" strHeadings = strHeadings & "~" & "PlaceholderText" strHeadings = strHeadings & "~" & "Range" strHeadings = strHeadings & "~" & "ShowingPlaceholderText" strHeadings = strHeadings & "~" & "Temporary" 'strHeadings = strHeadings & "~" & "XMLMapping" Debug.Print strHeadings If ActiveDocument.ContentControls.count > 0 Then For Each oCC In ActiveDocument.ContentControls 'debug 'If oCC.Type = 9 Then 'debug: repeating count = count + 1 If count = 50 Then 'dim response = vbmsgboxresponse Exit For End If ' useless cannot access immediate window If count = 15 Then response = MsgBox("paused", vbOKOnly) End If strProps = "" 'start over strProps = strProps & "~" strProps = strProps & count 'CStr(count) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Tag, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Title, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Type, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.DefaultTextStyle, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Application, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.BuildingBlockCategory, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.BuildingBlockType, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.Checked, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.Creator, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.DateCalendarType, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.DateDisplayFormat, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.DateDisplayLocale, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.DateStorageFormat, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.DropdownListEntries.count, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.ID, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.LockContentControl, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.LockContents, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.MultiLine, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.Parent, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.ParentContentControl, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.PlaceholderText, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Range, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.ShowingPlaceholderText, Chr(13), "#"), Chr(10), "#")) strProps = strProps & "~" strProps = strProps & CStr(Replace(Replace(oCC.Temporary, Chr(13), "#"), Chr(10), "#")) 'strProps = strProps & "~" 'strProps = strProps & CStr(Replace(Replace(oCC.XMLMapping, Chr(13), "#"), Chr(10), "#")) Debug.Print vbCrLf & strProps & vbCrLf 'End If 'oCC.Type=9 then 'debug: repeating Next End If End Sub
How to create a form on Google Apps
2014/01/31
Leave a comment
- If you want to collect input from others (including students outside of a course = Moodle), including recurring input from the same student (multiple submissions are the default andsingle submission limit can apparently only be enforced offwith JavaScript hacks)(.
- Do this to create a form in Google Apps:
- Here is what you can have your submitters see:
- Here is what you get: