Jouez avec tableau croisé dynamique dans Lotus Notes
J'ai finalement obtenu ce poste pour la table Pivot utilisation dans Lotus Notes. Il semble que vous devez utiliser les nombres pour définir certaines valeurs de chaîne d'objets. Par exemple, un champ peut avoir une fonction de pivot (Comme sum, avg, min, max, etc.) Dans VBA, vous devez entrer. Function.xlAverage (sans les guillemets) pour générer une valeur moyenne pour le domaine. Est nécessaire en écriture LotusScript. Fonction = "2" (le troisième élément de la liste des fonctions availalable, le décompte commence par "0"). En général, si vous trouvez une propriété ou une méthode qui a des options de valeur Mulitple, cochez les options d'aide OLE et convertir le texte en une chaîne numéro qui commence par "0". Vous aurez besoin d'expérimenter avec chaque gamme spécifique d'options afin de s'assurer qu'ils suivent le modèle.
J'ai aussi eu un régal à partir du site Remarques Iris ne transpose pas correctement la notation par point étendue. Vous devez définir explicitement les différents objets et ensuite utiliser un format point minimum. Ci-dessous vous trouverez que le classeur, feuille de calcul, et le tableau croisé dynamique sont tous définis comme des objets plutôt que d'utiliser un idividual WB.WS.PT. (Méthode ou une propriété) en format. Je suis de retour et j'ai essayé quelque chose de similaire avec des feuilles de calcul (1). Worksheets (1). Pivot (1). et cela a fonctionné.
Vous pouvez aussi remplacer le nom du livre, feuille, etc dans le contrôle de tableau croisé dynamique. Classeurs (1). Feuille ("Sheet1". Pivot (TableNameHere). Il travaille. Simple, non? Quoi qu'il en soit, voici un code simple qui crée un tableau croisé dynamique dans une feuille de calcul Excel existant. Dans la vraie vie, on a envie d'exporter les données appropriées, puis créer la table. J'espère que cette aide les autres à tomber autour d'essayer de comprendre comment écrire des appels d'OLE à MS des produits.
Sous Click (Source As Button)
Nom de fichier Dim As String
Dim xlApp As Variant
XlSheet As Variant
ObjWB As Variant
ObjWS As Variant
ObjPT As Variant
ObjRF As Variant
filename = "H: \ pivot.xls"
Réglez xlApp = CreateObject ("Excel.Application")
utilisateur xlApp.Visible = True 'peut voir feuille de calcul Excel. Réglez la valeur False pour garder invisible
xlApp.Workbooks.open nom de fichier
Réglez xlSheet = Une xlApp.Workbooks (1). Worksheets (1)
xlsheet.Activate
GenPivotTable:
'Ce code génère un tableau croisé dynamique vide
Avec xlsheet.PivotTableWizard
». SourceType =" 1 "Vous ne trouvez pas un bien pour le type de source
. SourceData = ("Sheet1 R1C1: R11C5") 'définit la source de données large
«TableRange2 =" Feuil2 R1C1: R20C3 ". Vous ne trouvez pas un bien immobilier à la table de destination, Excel tableau croisé dynamique par défaut à
«SheetMax # 1
. Name = "AvgCycleTimeByArea« définit le nom de tableau croisé dynamique
End With
Réglez objWB = Une xlApp.Workbooks (1)
Réglez objWS = objWB.Worksheets (1) «nombre = lieu de l'onglet dans un classeur, 1 = feuille supérieure
Réglez objPT = objWS.PivotTables (1)
«Si vous construisez un tableau croisé dynamique dans Excel et enregistrer le construire comme une macro, vous verrez une commande qui définit
«Le champ de ligne. La commande ressemble. AddFields.RowFields = "col1". Ne fonctionne pas en LotusScript.
«Ce qui suit fait remarquer la section va générer un champ de ligne unique. Je préfère utiliser le code plus générique
»Énumérés ci-dessous présente section fait remarquer
«ObjPT.AddFields (" col1 ")
«Ce qui fonctionne et définit un champ de ligne unique. n'arrive pas à comprendre comment configurer les champs de ligne Mulitple
Des valeurs ou d'autres comme addField columnField, etc
«Il s'agit d'une façon plus générale de mettre en lignes, des colonnes, des données et des champs de page
'0 = caché, 1 champ de ligne =, 2 champ de colonne =, 3 = champ de page, 4 = champ de données
'Ce code définit les valeurs pour les lignes et colonnes des champs. Il pourrait être utilisé pour définir les champs de page ainsi
objPT.PivotFields ("col1"). Orientation = "1" 'ligne
objPT.PivotFields ("col3"). Orientation = "1" 'ligne
objPT.PivotFields ("col4"). Orientation = "2" 'colonne
Avec objPT.PivotFields ("col2")
. Orientation = "4" '4 = xlDataField
. Name = "Moyenne du nombre de NumShifts"
. Fonction = "2" '2 = moyen
End With
End Sub
Vue 31459 fois par 11919 spectateurs













