This forum is read-only - Please use our new Citavi Forum instead.
Dieses Forum dient nur zur Recherche - Bitte nutzen Sie das neue Citavi Forum für Ihre Fragen.

Abkürzungsverzeichnis der Reihen Topic is solved

Fragen zur Bedienung von Citavi 4

Abkürzungsverzeichnis der Reihen

Postby historix777 » 2016-04-13 11:09

Systeminformationen: [ Citavi Version 4.5-4.6, Windows 7, Deutsch, Firefox 36 oder neuer, MS Office 2016, - ]

Hallo,

um ein Abkürzungsverzeichnis der Zeitschriften erstellen zu können, gibt es ein Makro, dass zunächst die Abkürzung und dann - mit Tabulator getrennt - den ausgeschriebenen Namen ausgibt. (Hier zu finden: viewtopic.php?f=88&t=2991)

Meine Frage: Gibt es ein ähnliches Makro auch, um sich eine solche Tabelle für "Reihen" ausgeben zu lassen?
historix777
 

Re: Abkürzungsverzeichnis der Reihen  Topic is solved

Postby Sebastian Pabel » 2016-04-14 15:50

Hallo, historix777,

die Änderungen sind minimal (es wird nun über die Reihen iteriert und das Stück mit der ISSN habe ich entfernt):

Code: Select all
using System;
using System.Text;
using System.Windows.Forms;

using SwissAcademic.Citavi;
using SwissAcademic.Citavi.Shell;
using SwissAcademic.Collections;


// Implementation of macro editor is preliminary and experimental.
// The Citavi object model is subject to change in future version.

public static class CitaviMacro
{
   public static void Main()
   {
      if (Program.ProjectShells.Count == 0) return;      //no project open   
           
      //edit the following to true/false as required
      bool showFullname = false;               //StandardAbbreviation (Name)
      bool showName = true;                  //Name
      bool showStandardAbbreviation = false;      //Abkürzung 1
      bool showUserAbbreviation1 = false;         //Abkürzung 2
      bool showUserAbbreviation2 = false;         //Abkürzung 3
      bool showNotes = false;
     
      int counter = 0;
     
      try
      {
         //reference to active project shell
         SwissAcademic.Citavi.Shell.ProjectShell activeShell = Program.ActiveProjectShell;
         
         //reference to active project
         SwissAcademic.Citavi.Project activeProject = activeShell.Project;
         
         //reference to primary main form
         SwissAcademic.Citavi.Shell.MainForm mainForm = activeShell.PrimaryMainForm;
         
         StringBuilder sb = new StringBuilder();
         bool rowInitialized = false;
         
         foreach (SeriesTitle periodical in activeProject.SeriesTitles)
            {
                        
            //Pls. edit: This is for "selecting" the rows we export
            //If there is no StandardAbbreviation/Abkürzung 1 we skip this periodical
                       
            counter++;
            rowInitialized = false;
           
           
            //Pls. edit: You can copy/paste each if () {} to move it about and change the
            //order in which the fields are exported. If you do not want a field to be exported,
            //change the showABC value above to "false".
            if (showStandardAbbreviation)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.StandardAbbreviation);
               //sb.Append(periodical.StandardAbbreviationAuto    //returns Name, if StandardAbbreviation is empty
               rowInitialized = true;
            }
           
            if (showFullname)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.FullName);
               rowInitialized = true;
            }
           
            if (showName)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.Name);
               rowInitialized = true;
            }
           
           
            if (showUserAbbreviation1)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.UserAbbreviation1);
               //sb.Append(periodical.UserAbbreviation1Auto       //returns StandardAbbreviationAuto, if UserAbbreviation1 is empty
               rowInitialized = true;
               
            }
           
            if (showUserAbbreviation2)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.UserAbbreviation2);
               //sb.Append(periodcial.UserAbbreviation2Auto       //returns UserAbbreviation1Auto, if UserAbbreviation2
               rowInitialized = true;
            }
           
                   
            if (showNotes)
            {
               if (rowInitialized) sb.Append("\t");
               sb.Append(periodical.Notes);
               rowInitialized = true;
            }
           
           
            if (rowInitialized) sb.Append("\r\n");
         }
         
         if (!String.IsNullOrEmpty(sb.ToString())) Clipboard.SetText(sb.ToString());
         
      } //end try
     
      catch(Exception exception)
      {
         DebugMacro.WriteLine(exception.ToString());
     
      }
     
      finally
      {
         MessageBox.Show(string.Format("Macro has finished execution.\r\n{0} periodicals were copied to clipboard.", counter.ToString()), "Citavi", MessageBoxButtons.OK, MessageBoxIcon.Information);
      } //end finally
     
   } //end main()
   
}


Viele Grüße
Sebastian

Wurde Ihre Frage vollständig beantwortet? Bitte klicken Sie auf das grüne Häkchen (= Antwort akzeptieren) oben rechts in meiner Antwort. Andere Forenbenutzer können sich dann leichter orientieren, wenn sie auf der Suche nach einer Lösung sind.
Sebastian Pabel
Site Admin
 

Re: Abkürzungsverzeichnis der Reihen

Postby historix777 » 2016-04-15 11:09

Herzlichen Dank!!!
historix777
 


Return to Citavi 4 Support (Deutsch)