Τρόπος για την κωδικοποίηση και αποκωδικοποίηση ένα συνημμένο αρχείου μέσω προγραμματισμού, χρησιμοποιώντας το Visual C# στο InfoPath 2003

Σύνοψη

Στο Microsoft Office InfoPath 2007 ή στο Microsoft Office InfoPath 2003 Service Pack 1 (SP1), μπορείτε να χρησιμοποιήσετε ένα στοιχείο ελέγχου Επισύναψης αρχείου για να επισυνάψετε ένα αρχείο σε πρότυπο φόρμας του InfoPath. Σε ειδικές περιπτώσεις, μπορεί να θέλετε για την κωδικοποίηση και αποκωδικοποίηση του αρχείου που είναι συνδεδεμένη με το στοιχείο ελέγχου Συνημμένου αρχείου . Στην περίπτωση αυτή, μπορείτε να χρησιμοποιήσετε Microsoft Visual C# για να δημιουργήσετε μια κλάση κωδικοποιητή και μια κλάση αποκωδικοποιητή . Στη συνέχεια, μπορείτε να χρησιμοποιήσετε την κλάση κωδικοποιητή και η κλάση αποκωδικοποιητή για την κωδικοποίηση και αποκωδικοποίηση του συνημμένου αρχείου.

ΕΙΣΑΓΩΓΗ

Το άρθρο αυτό παρουσιάζει τον τρόπο για την κωδικοποίηση και αποκωδικοποίηση ένα συνημμένο αρχείου μέσω προγραμματισμού, χρησιμοποιώντας το Microsoft Visual C# στο InfoPath 2003. Για πληροφορίες σχετικά με τον τρόπο για να το κάνετε αυτό στο InfoPath 2010 ή InfoPath 2007, ανατρέξτε την ακόλουθη τοποθεσία web: Τρόπος για την κωδικοποίηση και αποκωδικοποίηση ένα συνημμένο αρχείου μέσω προγραμματισμού, χρησιμοποιώντας το Visual C# στο InfoPath 2010 ή InfoPath 2007 .

Περισσότερες πληροφορίες

Η Microsoft παρέχει παραδείγματα προγραμματισμού μόνο για επεξήγηση, χωρίς καμία εγγύηση, είτε σιωπηρή είτε ρητή. Αυτό περιλαμβάνει, ενδεικτικά, τις σιωπηρές εγγυήσεις εμπορευσιμότητας ή καταλληλότητας για συγκεκριμένο σκοπό. Αυτό το άρθρο προϋποθέτει ότι είστε εξοικειωμένοι με τη γλώσσα προγραμματισμού που παρουσιάζεται, καθώς και με τα εργαλεία που χρησιμοποιούνται για τη δημιουργία διαδικασιών και τον εντοπισμό σφαλμάτων σε αυτές. Οι μηχανικοί υποστήριξης της Microsoft μπορούν να σας εξηγήσουν τη λειτουργικότητα μιας συγκεκριμένης διαδικασίας, αλλά δεν θα τροποποιήσουν αυτά τα παραδείγματα για να παράσχουν πρόσθετες λειτουργίες, ούτε θα δημιουργήσουν διαδικασίες για να καλύψουν τις συγκεκριμένες απαιτήσεις σας.

Δημιουργήστε ένα έργο Visual C# το InfoPath 2003

  1. Ξεκινήστε το Microsoft Visual Studio .NET 2003.
  2. Στο μενού αρχείο , κάντε κλικ στο κουμπί
    Δημιουργίακαι, στη συνέχεια, κάντε κλικ στο έργο.
  3. Στο πλαίσιο διαλόγου " Νέο έργο ", κάντε κλικ στο κουμπί
    Στο φάκελο του Microsoft Office InfoPath έργα Visual C# έργα .
  4. Στο πλαίσιο όνομα , πληκτρολογήστε
    AttachmentEncodingκαι, στη συνέχεια, κάντε κλικ στο κουμπί
    OK.
  5. Στον Οδηγό έργου του Microsoft Office, κάντε κλικ στο κουμπί
    Δημιουργία νέου προτύπου φόρμαςκαι, στη συνέχεια, κάντε κλικ στο κουμπί
    Τέλος.

    Οδηγός του Microsoft Office Project δημιουργεί ένα νέο έργο Visual Studio .NET 2003 που ονομάζεται AttachmentEncoding. Επίσης, δημιουργείται ένα πρότυπο φόρμας του InfoPath. Το πρότυπο φόρμας του InfoPath με το όνομα AttachmentEncoding.

Δημιουργήστε μια κλάση κωδικοποιητή στο Visual Studio .NET 2003

  1. Στην Εξερεύνηση λύσεων, κάντε δεξιό κλικ
    AttachmentEncoding, επιλέξτε Προσθήκηκαι, στη συνέχεια, κάντε κλικ στην επιλογή Προσθήκη νέου στοιχείου.
  2. Στο παράθυρο διαλόγου Προσθήκη νέου στοιχείου , κάντε κλικ στο κουμπί
    Κλάση στο παράθυρο " πρότυπο ", πληκτρολογήστε
    InfoPathAttachmentEncoder.cs με το
    Όνομα πλαίσιο και, στη συνέχεια, κάντε κλικ στο κουμπί Άνοιγμα.
  3. Αντικατάσταση όλος ο κώδικας στο αρχείο InfoPathAttachmentEncoder.cs με τον ακόλουθο κώδικα.
    using System;using System.IO;
    using System.Text;
    using System.Security.Cryptography;

    namespace InfoPathAttachmentEncoding
    {
    /// <summary>
    /// InfoPathAttachment encodes file data into the format expected by InfoPath for use in file attachment nodes.
    /// </summary>
    public class InfoPathAttachmentEncoder
    {
    private string base64EncodedFile = string.Empty;
    private string fullyQualifiedFileName;

    /// <summary>
    /// Creates an encoder to create an InfoPath attachment string.
    /// </summary>
    /// <param name="fullyQualifiedFileName"></param>
    public InfoPathAttachmentEncoder(string fullyQualifiedFileName)
    {
    if (fullyQualifiedFileName == string.Empty)
    throw new ArgumentException("Must specify file name", "fullyQualifiedFileName");

    if (!File.Exists(fullyQualifiedFileName))
    throw new FileNotFoundException("File does not exist: " + fullyQualifiedFileName, fullyQualifiedFileName);

    this.fullyQualifiedFileName = fullyQualifiedFileName;
    }

    /// <summary>
    /// Returns a Base64 encoded string.
    /// </summary>
    /// <returns>String</returns>
    public string ToBase64String()
    {
    if (base64EncodedFile != string.Empty)
    return base64EncodedFile;

    // This memory stream will hold the InfoPath file attachment buffer before Base64 encoding.
    MemoryStream ms = new MemoryStream();

    // Get the file information.
    using (BinaryReader br = new BinaryReader(File.Open(fullyQualifiedFileName, FileMode.Open, FileAccess.Read, FileShare.Read)))
    {
    string fileName = Path.GetFileName(fullyQualifiedFileName);

    uint fileNameLength = (uint)fileName.Length + 1;

    byte[] fileNameBytes = Encoding.Unicode.GetBytes(fileName);

    using (BinaryWriter bw = new BinaryWriter(ms))
    {
    // Write the InfoPath attachment signature.
    bw.Write(new byte[] { 0xC7, 0x49, 0x46, 0x41 });

    // Write the default header information.
    bw.Write((uint)0x14);// size
    bw.Write((uint)0x01);// version
    bw.Write((uint)0x00);// reserved

    // Write the file size.
    bw.Write((uint)br.BaseStream.Length);

    // Write the size of the file name.
    bw.Write((uint)fileNameLength);

    // Write the file name (Unicode encoded).
    bw.Write(fileNameBytes);

    // Write the file name terminator. This is two nulls in Unicode.
    bw.Write(new byte[] {0,0});

    // Iterate through the file reading data and writing it to the outbuffer.
    byte[] data = new byte[64*1024];
    int bytesRead = 1;

    while (bytesRead > 0)
    {
    bytesRead = br.Read(data, 0, data.Length);
    bw.Write(data, 0, bytesRead);
    }
    }
    }


    // This memorystream will hold the Base64 encoded InfoPath attachment.
    MemoryStream msOut = new MemoryStream();

    using (BinaryReader br = new BinaryReader(new MemoryStream(ms.ToArray())))
    {
    // Create a Base64 transform to do the encoding.
    ToBase64Transform tf = new ToBase64Transform();

    byte[] data = new byte[tf.InputBlockSize];
    byte[] outData = new byte[tf.OutputBlockSize];

    int bytesRead = 1;

    while (bytesRead > 0)
    {
    bytesRead = br.Read(data, 0, data.Length);

    if (bytesRead == data.Length)
    tf.TransformBlock(data, 0, bytesRead, outData, 0);
    else
    outData = tf.TransformFinalBlock(data, 0, bytesRead);

    msOut.Write(outData, 0, outData.Length);
    }
    }

    msOut.Close();

    return base64EncodedFile = Encoding.ASCII.GetString(msOut.ToArray());
    }
    }
    }

Δημιουργήσετε μια κλάση αποκωδικοποιητή στο Visual Studio .NET 2003

  1. Στην Εξερεύνηση λύσεων, κάντε δεξιό κλικ
    AttachmentEncoding, επιλέξτε Προσθήκηκαι, στη συνέχεια, κάντε κλικ στην επιλογή Προσθήκη νέου στοιχείου.
  2. Στο παράθυρο διαλόγου Προσθήκη νέου στοιχείου , κάντε κλικ στο κουμπί
    Κλάση στο παράθυρο " πρότυπο ", πληκτρολογήστε
    InfoPathAttachmentDecoder.cs με το
    Όνομα πλαίσιο και, στη συνέχεια, κάντε κλικ στο κουμπί Άνοιγμα.
  3. Αντικατάσταση όλος ο κώδικας στο αρχείο InfoPathAttachmentDecoder.cs με τον ακόλουθο κώδικα.
    using System;using System.IO;
    using System.Text;

    namespace InfoPathAttachmentEncoding
    {
    /// <summary>
    /// Decodes a file attachment and saves it to a specified path.
    /// </summary>
    public class InfoPathAttachmentDecoder
    {
    private const int SP1Header_Size = 20;
    private const int FIXED_HEADER = 16;

    private int fileSize;
    private int attachmentNameLength;
    private string attachmentName;
    private byte[] decodedAttachment;

    /// <summary>
    /// Accepts the Base64 encoded string
    /// that is the attachment.
    /// </summary>
    public InfoPathAttachmentDecoder(string theBase64EncodedString)
    {
    byte [] theData = Convert.FromBase64String(theBase64EncodedString);
    using(MemoryStream ms = new MemoryStream(theData))
    {
    BinaryReader theReader = new BinaryReader(ms);
    DecodeAttachment(theReader);
    }
    }

    private void DecodeAttachment(BinaryReader theReader)
    {
    //Position the reader to get the file size.
    byte[] headerData = new byte[FIXED_HEADER];
    headerData = theReader.ReadBytes(headerData.Length);

    fileSize = (int)theReader.ReadUInt32();
    attachmentNameLength = (int)theReader.ReadUInt32() * 2;

    byte[] fileNameBytes = theReader.ReadBytes(attachmentNameLength);
    //InfoPath uses UTF8 encoding.
    Encoding enc = Encoding.Unicode;
    attachmentName = enc.GetString(fileNameBytes, 0, attachmentNameLength - 2);
    decodedAttachment = theReader.ReadBytes(fileSize);
    }

    public void SaveAttachment(string saveLocation)
    {
    string fullFileName = saveLocation;
    if(!fullFileName.EndsWith(Path.DirectorySeparatorChar))
    {
    fullFileName += Path.DirectorySeparatorChar;
    }

    fullFileName += attachmentName;

    if(File.Exists(fullFileName))
    File.Delete(fullFileName);

    FileStream fs = new FileStream(fullFileName, FileMode.CreateNew);
    BinaryWriter bw = new BinaryWriter(fs);
    bw.Write(decodedAttachment);

    bw.Close();
    fs.Close();
    }

    public string Filename
    {
    get{ return attachmentName; }
    }

    public byte[] DecodedAttachment
    {
    get{ return decodedAttachment; }
    }
    }
    }


Προσθέστε ένα στοιχείο ελέγχου επισύναψης αρχείου και ένα στοιχείο ελέγχου πλαισίου κειμένου στη φόρμα του InfoPath

  1. Στο πρότυπο φόρμας στο AttachmentEncoding InfoPath, κάντε κλικ στο κουμπί στοιχεία ελέγχου στο παράθυρο εργασιών Εργασίες σχεδίασης .
  2. Στο παράθυρο εργασιών " στοιχεία ελέγχου ", κάντε κλικ στο κουμπί Επισύναψη αρχείου στην περιοχή
    Εισαγωγή στοιχείων ελέγχου.
  3. Κάντε δεξιό κλικ στο στοιχείο ελέγχου Συνημμένου αρχείου και, στη συνέχεια, κάντε κλικ στο κουμπί Ιδιότητες συνημμένου αρχείου.
  4. Στο πλαίσιο διαλόγου " Ιδιότητες συνημμένου αρχείου ", πληκτρολογήστε theAttachmentField στο πλαίσιο Όνομα πεδίου και, στη συνέχεια, κάντε κλικ στο κουμπί OK.
  5. Στο παράθυρο εργασιών " στοιχεία ελέγχου ", κάντε κλικ στο Πλαίσιο κειμένου στην περιοχή
    Εισαγωγή στοιχείων ελέγχου.
  6. Κάντε δεξιό κλικ στο στοιχείο ελέγχου του Πλαισίου κειμένου και, στη συνέχεια, κάντε κλικ στο κουμπί Ιδιότητες πλαισίου κειμένου.
  7. Στο παράθυρο διαλόγου Ιδιότητες: πλαίσιο κειμένου , πληκτρολογήστε theAttachmentName στο πλαίσιο Όνομα πεδίου και, στη συνέχεια, κάντε κλικ στο κουμπί OK.

Προσθέστε ένα κουμπί επισύναψη στη φόρμα του InfoPath

  1. Στο παράθυρο εργασιών " στοιχεία ελέγχου ", κάντε κλικ στο κουμπί στην περιοχή
    Εισαγωγή στοιχείων ελέγχου.
  2. Κάντε δεξιό κλικ στο νέο στοιχείο ελέγχου κουμπιού και, στη συνέχεια, κάντε κλικ στο Κουμπί Ιδιότητες.
  3. Στο πλαίσιο διαλόγου " Ιδιότητες κουμπιού ", πληκτρολογήστε
    Επισύναψη στο πλαίσιο " ετικέτα ", πληκτρολογήστε
    btnAttach στο πλαίσιο Αναγνωριστικό , και στη συνέχεια κάντε κλικ
    Επεξεργασία κώδικα φόρμας.
  4. Προσθέστε τον ακόλουθο κώδικα σε τη μέθοδο btnAttach_OnClick .
    //Get a reference to the attachment node.IXMLDOMNode theAttachmentNode = thisXDocument.DOM.selectSingleNode("my:myFields/my:theAttachmentField");

    //Get a reference to the filename node.
    IXMLDOMNode fileNameNode = thisXDocument.DOM.selectSingleNode("my:myFields/my:theAttachmentName");
    //Get the text of the node.
    String fileName = fileNameNode.text;
    if(fileName.Length > 0)
    {
    //Encode the file and assign it to the attachment node.
    InfoPathAttachmentEncoding.Encoder myEncoder = new InfoPathAttachmentEncoding.Encoder(fileName);
    if(theAttachmentNode.attributes.getNamedItem("xsi:nil") != null)
    theAttachmentNode.attributes.removeNamedItem("xsi:nil");
    theAttachmentNode.text = myEncoder.ToBase64String();
    }

Προσθέστε ένα κουμπί "Αποθήκευση" στη φόρμα του InfoPath

  1. Μεταβείτε σε πρότυπο φόρμας του AttachmentEncoding InfoPath.
  2. Στο παράθυρο εργασιών " στοιχεία ελέγχου ", κάντε κλικ στο κουμπί στην περιοχή
    Εισαγωγή στοιχείων ελέγχου.
  3. Κάντε δεξιό κλικ στο νέο στοιχείο ελέγχου κουμπιού και, στη συνέχεια, κάντε κλικ στο Κουμπί Ιδιότητες.
  4. Στο πλαίσιο διαλόγου " Ιδιότητες κουμπιού ", πληκτρολογήστε
    " Αποθήκευση " στο πλαίσιο " ετικέτα ", πληκτρολογήστε
    btnSave στο πλαίσιο Αναγνωριστικό , και στη συνέχεια κάντε κλικ
    Επεξεργασία κώδικα φόρμας.
  5. Προσθέστε τον ακόλουθο κώδικα στο η μέθοδος btnSave _OnClick .
    //Get a reference to the attachment node.IXMLDOMNode n = thisXDocument.DOM.selectSingleNode("my:myFields/my:theAttachmentField");
    //Get the text of the node.
    String theAttachment = n.text;
    if(theAttachment.Length > 0)
    {
    InfoPathAttachmentEncoding.Decoder myDecoder = new InfoPathAttachmentEncoding.Decoder(theAttachment);
    myDecoder.SaveAttachment(@"<Path to save the file>");
    }

    Σημείωση Στον παρόντα κώδικα, αντικαταστήστε < διαδρομή για να αποθηκεύσετε το αρχείο > με τη θέση όπου θέλετε να αποθηκεύσετε το αρχείο.

Βεβαιωθείτε ότι είναι πλήρως αξιόπιστο πρότυπο φόρμας του InfoPath

Πριν να ελέγξετε αυτήν τη φόρμα, το πρότυπο φόρμας του InfoPath, πρέπει να είναι πλήρως αξιόπιστες. Μπορείτε να χρησιμοποιήσετε μία από τις ακόλουθες μεθόδους για να βεβαιωθείτε ότι είναι πλήρως αξιόπιστο πρότυπο φόρμας του InfoPath:
  • Χρησιμοποιήστε το βοηθητικό πρόγραμμα ρύθμισης παραμέτρων του Microsoft .NET Framework 1.1 για να παραχωρήσετε δικαιώματα πλήρους αξιοπιστίας, μόνο σε κώδικα Visual C#.
  • Χρησιμοποιήστε το βοηθητικό πρόγραμμα RegForm από το Κιτ ανάπτυξης λογισμικού του InfoPath (SDK) για να κάνει τη φόρμα μια πλήρως αξιόπιστης φόρμας. Αυτό παραχωρεί δικαιώματα πλήρους αξιοπιστίας σε κώδικα Visual C#.
  • Χρησιμοποιήστε ένα πιστοποιητικό υπογραφής κώδικα για να υπογράψετε ψηφιακά το αρχείο προτύπου φόρμας (.xsn). Όταν χρησιμοποιείτε ένα πιστοποιητικό υπογραφής κώδικα για να υπογράψετε ψηφιακά το αρχείο προτύπου φόρμας, οι χρήστες θα σας ζητηθεί να εμπιστεύονται τη φόρμα όταν ανοίγουν τη φόρμα. Με αυτόν τον τρόπο πλήρως αξιόπιστης φόρμας. Επομένως, εκχωρούνται δικαιώματα πλήρους αξιοπιστίας σε κώδικα Visual C#.
  • Χρησιμοποιήσετε τη μακροεντολή IPFullTrust από το SDK του InfoPath για να δημιουργήσετε τη φόρμα μια πλήρως αξιόπιστης φόρμας. Η μακροεντολή IPFullTrust αυτοματοποιεί τη ρύθμιση το αρχείο δήλωσης (.xsf) και το αρχείο προτύπου φόρμας του InfoPath έργου για πλήρη αξιοπιστία και, στη συνέχεια, η μακροεντολή IPFullTrust καταχωρεί αυτόματα το πρότυπο φόρμας.

    Για περισσότερες πληροφορίες σχετικά με τον τρόπο εγκατάστασης και χρήσης της μακροεντολής, επισκεφθείτε την ακόλουθη τοποθεσία του Microsoft Developer Network (MSDN) στο Web:
  • Χρήση εξωτερική αυτοματοποίηση του InfoPath για να καλέσετε τη μέθοδο RegisterSolution . Συνήθως, αυτή η μέθοδος χρησιμοποιείται μόνο για την ανάπτυξη της φόρμας επειδή μια φόρμα καταχωρημένο καταγράφει μόνο για ένα μεμονωμένο υπολογιστή. Για οποιεσδήποτε πρόσθετες φόρμες, οι άλλοι χρήστες πρέπει να καταχωρήσετε τις επιπλέον φόρμες στους δικούς τους υπολογιστές. Δεν συνιστούμε αυτήν τη μέθοδο για πρόσθετες μορφές. Συνιστούμε να ισχύει μία από τις προηγούμενες μεθόδους, όταν δημοσιεύετε τη φόρμα.
Επειδή αυτή η φόρμα είναι υπό επεξεργασία φόρμας, μπορείτε να χρησιμοποιήσετε την τελευταία κλήση της μεθόδου. Για να το κάνετε αυτό, εντοπίστε το πρότυπο φόρμας του AttachmentEncoding InfoPath και, στη συνέχεια, ακολουθήστε τα εξής βήματα:
  1. Στο μενού Εργαλεία , κάντε κλικ στην εντολή "Επιλογές φόρμας".
  2. Κάντε κλικ στην καρτέλα Ασφάλεια.
  3. Κάντε κλικ για να καταργήσετε το σημάδι επιλογής από το πλαίσιο ελέγχου Αυτόματος προσδιορισμός του επιπέδου ασφαλείας με βάση τη σχεδίαση της φόρμας (προτείνεται) .

    Σημείωση Το InfoPath δεν είναι δυνατό να εντοπίσει αυτόματα την επιχειρηματική λογική που απαιτεί δικαιώματα πλήρους αξιοπιστίας. Επομένως, πρέπει να εκχωρήσετε ρητά δικαιώματα πλήρους αξιοπιστίας.
  4. Κάντε κλικ στην επιλογή Πλήρης αξιοπιστίακαι, στη συνέχεια, κάντε κλικ στο κουμπί
    OK.
  5. Κλείστε το πρότυπο φόρμας του AttachmentEncoding InfoPath. Εάν σας ζητηθεί να αποθηκεύσετε τις αλλαγές, κάντε κλικ στο κουμπί " Ναι".

    Σημείωση Μην κλείσετε το έργο του Visual Studio .NET 2003.
  6. Στο Visual Studio .NET 2003, κάντε διπλό κλικ το
    Στο αρχείο manifest.xsf στην Εξερεύνηση λύσεων. Ανοίγει το αρχείο Manifest.xsf.
  7. Στον κόμβο ρίζας, εντοπίστε το χαρακτηριστικό publishUrl . Καταργήστε το χαρακτηριστικό publishUrl και η τιμή του χαρακτηριστικού publishUrl .
  8. Αποθηκεύστε τις αλλαγές σας και, στη συνέχεια, κλείστε το αρχείο Manifest.xsf.
  9. Κάντε κλικ στο κουμπί Έναρξη, επιλέξτε Εκτέλεση, πληκτρολογήστε Σημειωματάριο (Notepad)και, στη συνέχεια, κάντε κλικ στο κουμπί
    OK.
  10. Προσθέστε τον ακόλουθο κώδικα στο αρχείο κειμένου κενό.
    oApp = WScript.CreateObject("InfoPath.ExternalApplication");strAbsolutePath = "<project_folder_url>\\Manifest.xsf";
    oApp.RegisterSolution(strAbsolutePath,"overwrite");

    Σημείωση Στον παρόντα κώδικα, αντικατάσταση
    < project_folder_url > με τη διαδρομή του στο αρχείο Manifest.xsf στο φάκελο έργου. Μην ξεχάσετε να επιστρέφει τη διαδρομή του στο αρχείο Manifest.xsf. Κάθε μεμονωμένο ανάστροφες καθέτους (\) στη διαδρομή πρέπει να αντικατασταθεί με δύο ανάστροφες καθέτους (\).
  11. Αποθηκεύστε το αρχείο Manifest.xsf στον υπολογιστή όπου βρίσκεται το αρχείο Register.js.
  12. Για να καλέσετε τη μέθοδο RegisterSolution , κάντε διπλό κλικ στο αρχείο Register.js που δημιουργήσατε.

Ελέγξτε τη φόρμα

  1. Στο έργο AttachmentEncoding Visual Studio .NET 2003, κάντε κλικ στο κουμπί Έναρξη από το μενού Εντοπισμός σφαλμάτων . Ξεκινά τη φόρμα του InfoPath σε κατάσταση προεπισκόπησης.
  2. Στη φόρμα InfoPath, πληκτρολογήστε τη διαδρομή του αρχείου που θέλετε να επισυνάψετε στο πλαίσιο κειμένου και, στη συνέχεια, κάντε κλικ στο κουμπί
    Επισύναψη.

    Σημείωση Κάντε διπλό κλικ στο στοιχείο ελέγχου Συνημμένου αρχείου για να βεβαιωθείτε ότι το αρχείο έχει κωδικοποιηθεί σωστά.
  3. Κάντε κλικ στο κουμπί Αποθήκευση. Εντοπίστε τη διαδρομή που δώσατε στην ενότητα "Προσθήκη ένα κουμπί" Αποθήκευση" στη φόρμα του InfoPath".
  4. Για να τερματίσετε τη δοκιμή, κάντε κλικ στο κουμπί " Κλείσιμο".

Αναφορές

Για περισσότερες πληροφορίες σχετικά με τη μορφή κεφαλίδας συνημμένου αρχείου, επισκεφθείτε την ακόλουθη τοποθεσία MSDN στο Web:
Επισύναψη αρχείων στο InfoPath 2003
http://msdn2.microsoft.com/en-us/library/aa168351(office.11).aspx
Ιδιότητες

Αναγνωριστικό άρθρου: 892730 - Τελευταία αναθεώρηση: 17 Ιαν 2017 - Αναθεώρηση: 1

Σχόλια