|
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"