|
Sub notaTelefonica()
'
' Macro enregistrada per Lluís de Yzaguirre i Maura
' Institut de Lingüística Aplicada
' Universitat "Pompeu Fabra"
'
interiorFarcimentNotaTelefonica (triaLlenguaNota())
End Sub
Sub notaTelefonicaCastella()
'
' Macro enregistrada per Lluís de Yzaguirre i Maura
' Institut de Lingüística Aplicada
' Universitat "Pompeu Fabra"
'
interiorFarcimentNotaTelefonica (2)
End Sub
Sub notaTelefonicaCatala()
'
' Macro enregistrada per Lluís de Yzaguirre i Maura
' Institut de Lingüística Aplicada
' Universitat "Pompeu Fabra"
'
interiorFarcimentNotaTelefonica (1)
End Sub
Function triaLlenguaNota()
nombre = 4
Dim llengues(12) As String ' cal que coincideixi amb la xifra precedent
llengues(1) = "Català"
llengues(2) = "Castellà"
llengues(3) = "Gallec"
llengues(4) = "Basc"
llengues(5) = "Àrab"
llengues(6) = "Portuguès"
llengues(7) = "Anglès UK"
llengues(8) = "Anglès US"
llengues(9) = "Francès"
llengues(10) = "Alemany"
llengues(11) = "Italià"
llengues(12) = "Romanès"
missatge$ = "Tria la llengua:"
For i = 1 To 2
missatge$ = missatge$ + Chr(13) + Str(i) + " = " + llengues(i)
Next i
resposta2$ = InputBox(missatge$, "Generar nota")
triaLlenguaNota = Val(resposta2$)
End Function
Function generaMissatge$(llengua, idMissatge)
'
' Macro enregistrada per Lluís de Yzaguirre i Maura
' Institut de Lingüística Aplicada
' Universitat "Pompeu Fabra"
'
Select Case llengua
Case 1
Select Case idMissatge
Case 0
generaMissatge$ = "Trucada"
Case 1
generaMissatge$ = "Hora"
Case 2
generaMissatge$ = "Data"
Case 3
generaMissatge$ = "Per a"
Case 4
generaMissatge$ = "De"
Case 5
generaMissatge$ = "Encàrrec"
Case 6
generaMissatge$ = "Li tornarà a trucar"
Case 7
generaMissatge$ = "Li enviarà un correu"
Case 8
generaMissatge$ = "Li enviarà un SMS"
Case 9
generaMissatge$ = "Vindrà a veure'l"
Case 10
generaMissatge$ = "Demana que li truqui"
Case 11
generaMissatge$ = "Demana que li enviï un corr-el"
End Select
Case 2
Select Case idMissatge
Case 0
generaMissatge$ = "Llamada"
Case 1
generaMissatge$ = "Hora"
Case 2
generaMissatge$ = "Fecha"
Case 3
generaMissatge$ = "Para"
Case 4
generaMissatge$ = "De"
Case 5
generaMissatge$ = "Encargo"
Case 6
generaMissatge$ = "Volverá a llamar"
Case 7
generaMissatge$ = "Enviará un correo"
Case 8
generaMissatge$ = "Enviará un SMS"
Case 9
generaMissatge$ = "Vendrá a verlo"
Case 10
generaMissatge$ = "Ruega que le llame"
Case 11
generaMissatge$ = "Ruega que le envie un correo electrónico"
End Select
Case 3
generaMissatge$ = "llengua no implementada"
Case 4
generaMissatge$ = "llengua no implementada"
Case Default
generaMissatge$ = "llengua no implementada"
End Select
End Function
Sub interiorFarcimentNotaTelefonica(llengua)
' ---------------------------------- inicialitzem la llengua
If llengua > 2 Or llengua < 1 Then ' pleguem si no la tenim
End
End If
Select Case llengua
Case 1
codiLlengua = wdCatalan
Case 2
codiLlengua = wdSpanishModernSort
Case 3
codiLlengua = wdGalician
Case 4
codiLlengua = wdBasque
Case 5
codiLlengua = wdArabicMorocco
Case 6
codiLlengua = wdPortuguese
Case 7
codiLlengua = wdEnglishUK
Case 8
codiLlengua = wdEnglishUS
Case 9
codiLlengua = wdFrench
Case 10
codiLlengua = wdGerman
Case 11
codiLlengua = wdItalian
Case 12
codiLlengua = wdRomanian
Case Default
End
End Select
' --------------------------------- demanem el nom de la persona trucada
nombrePersonal = 4
idPersonal = -1
Dim personal(4) As String ' cal que coincideixi amb la xifra precedent
personal(0) = "Teresa Cabré"
personal(1) = "Mercè Lorente"
personal(2) = "Carles Tebé"
personal(3) = "Núria Bel"
personal(4) = "Jaume Martí"
missatge$ = "Entra el nom del destinatari -a:"
For i = 0 To nombrePersonal
missatge$ = missatge$ + Chr(13) + Chr(48 + i) + " = " + personal(i)
Next i
resposta2$ = InputBox(missatge$, "Per a")
i = Asc(Mid$(resposta2$, 1, 1)) - 48
If ((i >= 0) And (i <= nombrePersonal)) Then
resposta2$ = personal(i)
idPersonal = i
End If
' --------------------------------- demanem el nom del client que truca
Dim clients(4) As String ' cal que coincideixi amb la xifra màxima de clients
If idPersonal = 0 Then
' llista de clients que truca per a personal=0
nombreClients = 2
clients(0) = "sa mare"
clients(1) = "son pare"
clients(2) = "sa tia"
ElseIf idPersonal = 1 Then
' llista de clients que truca per a personal=1
nombreClients = 4
clients(0) = "impremta"
clients(1) = "copisteria"
clients(2) = "missatgeria"
clients(3) = "ETT"
clients(4) = "càtering"
Else
' llista de clients per defecte
nombreClients = 3
clients(0) = "Groucho Marx"
clients(1) = "John Lennon"
clients(2) = "Joana d'Arc"
clients(3) = "L'home del sac"
End If
missatge$ = "Entra el nom del comunicant:"
For i = 0 To nombreClients
missatge$ = missatge$ + Chr(13) + Chr(48 + i) + " = " + clients(i)
Next i
resposta1$ = InputBox(missatge$, "De part de")
i = Asc(Mid$(resposta1$, 1, 1)) - 48
If ((i >= 0) And (i <= nombreClients)) Then
resposta1$ = clients(i)
End If
' --------------------------------- demanem què vol
nombreOpcions = 5
Dim opcions(5) As String ' cal que coincideixi amb la xifra precedent
For i = 0 To nombreOpcions ' generem els missatges en català
opcions(i) = generaMissatge$(1, i + 6)
Next i
missatge$ = "Entra l'encàrrec:"
For i = 0 To nombreOpcions
missatge$ = missatge$ + Chr(13) + Chr(48 + i) + " = " + opcions(i)
Next i
resposta3$ = InputBox(missatge$, "Diu que")
' --------------------------------- convertim el text
For i = 0 To nombreOpcions ' els recuperem en la llengua triada
opcions(i) = generaMissatge$(llengua, i + 6)
Next i
' --------------------------------- complementem informacions
If resposta3$ = "4" Then
resposta3$ = InputBox("Número de telèfon", "Número")
If Len(resposta3$) > 0 Then
resposta3$ = opcions(4) + " (" + resposta3$ + ")"
End If
ElseIf resposta3$ = "5" Then
resposta3$ = InputBox("Adreça electrònica", "Adr-el")
If Len(resposta3$) > 0 Then
resposta3$ = opcions(5) + " (" + resposta3$ + ")"
End If
Else
i = Asc(Mid$(resposta3$, 1, 1)) - 48
If ((i >= 0) And (i <= nombreOpcions)) Then
resposta3$ = opcions(i)
End If
End If
' --------------------------------- generem el text
Selection.ParagraphFormat.TabStops.ClearAll
ActiveDocument.DefaultTabStop = CentimetersToPoints(1.25)
Selection.ParagraphFormat.TabStops.Add Position:=CentimetersToPoints(3), _
Alignment:=wdAlignTabLeft, Leader:=wdTabLeaderSpaces
Selection.TypeText Text:=generaMissatge$(llengua, 0)
Selection.TypeParagraph
Selection.TypeText Text:=generaMissatge$(llengua, 1) + ":" & vbTab
Selection.InsertDateTime DateTimeFormat:="HH:mm", InsertAsField:=False, _
DateLanguage:=codiLlengua, CalendarType:=wdCalendarWestern, _
InsertAsFullWidth:=False
Selection.TypeParagraph
Selection.TypeText Text:=generaMissatge$(llengua, 2) + ":" & vbTab
Selection.InsertDateTime DateTimeFormat:="d' / 'MMMM' / 'yyyy", _
InsertAsField:=False, DateLanguage:=codiLlengua, CalendarType:= _
wdCalendarWestern, InsertAsFullWidth:=False
Selection.TypeParagraph
Selection.TypeText Text:=generaMissatge$(llengua, 3) + ":" & vbTab & resposta2$
Selection.TypeParagraph
Selection.TypeText Text:=generaMissatge$(llengua, 4) + ":" & vbTab & resposta1$
Selection.TypeParagraph
Selection.TypeText Text:=generaMissatge$(llengua, 5) + ":" & vbTab & resposta3$
'--------------------------------------------- generem un marc exterior
Selection.WholeStory
With Selection.ParagraphFormat
With .Borders(wdBorderLeft)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderRight)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderTop)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
With .Borders(wdBorderBottom)
.LineStyle = wdLineStyleSingle
.LineWidth = wdLineWidth050pt
.Color = wdColorAutomatic
End With
.Borders(wdBorderHorizontal).LineStyle = wdLineStyleNone
With .Borders
.DistanceFromTop = 1
.DistanceFromLeft = 4
.DistanceFromBottom = 1
.DistanceFromRight = 4
.Shadow = True
End With
End With
With Options
.DefaultBorderLineStyle = wdLineStyleSingle
.DefaultBorderLineWidth = wdLineWidth050pt
.DefaultBorderColor = wdColorAutomatic
End With
Selection.MoveRight Unit:=wdCharacter, Count:=1
' si activem la línia següent el document s'imprimirà a la impress. x defecte
' ActiveDocument.PrintOut
End Sub
Per qualsevol problema amb aquesta pàgina, contacteu "de_yza@upf.es"