dateofbirth というタイトルの日付ピッカー コンテンツ コントロールと、datefirstseen というタイトルの別の日付ピッカー コンテンツ コントロールがあります。ageasatlastbirthday というタイトルのフォームの同じ最初のページのテキスト ボックス コンテンツ コントロールに計算される年の差を特定しようとしました
私はこのコードを試しました
Private Sub Document_ContentControlOnExit(ByVal ContentControl As ContentControl, Cancel As Boolean)
Dim CCtrl As ContentControl, DtStart As Long, DtEnd As Long
With ContentControl
If .Title = "DateofBirth" Then
If IsDate(.Range.Text) Then
DtStart = CDate(.Range.Text)
With ActiveDocument.SelectContentControlsByTitle("DateRecruitedDateFirstSeen ")(1)
If IsDate(.Range.Text) Then DtEnd = CDate(.Range.Text)
ActiveDocument.SelectContentControlsByTitle("Ageatlastbirthday ")(1).Range.Text = Int((DtEnd - DtStart) / 365)
End With
End If
End If
If .Title = "DateRecruitedDateFirstSeen" Then
If IsDate(.Range.Text) Then
DtEnd = CDate(.Range.Text)
With ActiveDocument.SelectContentControlsByTitle("DateofBirth")(1)
If IsDate(.Range.Text) Then DtStart = CDate(.Range.Text)
ActiveDocument.SelectContentControlsByTitle("Ageatlastbirthday ")(1).Range.Text = Int((DtEnd - DtStart) / 365)
End With
End If
End If
End With
End Sub
このコードを ContentControlOnExit 形式のドキュメントとして 'thisdocument' セクションに挿入しましたが、それでも機能しません。
実行可能なコードに変更してください。