001package com.hfg.xml.msofficexml.docx.part;
002
003
004import java.io.InputStream;
005
006import com.hfg.exception.ProgrammingException;
007import com.hfg.util.StringUtil;
008import com.hfg.xml.msofficexml.docx.wordprocessingml.WmlXML;
009import com.hfg.xml.msofficexml.part.VbaPart;
010
011//------------------------------------------------------------------------------
012/**
013 Represents a Docx Office Open XML VBA part.
014
015 @author J. Alex Taylor, hairyfatguy.com
016 */
017//------------------------------------------------------------------------------
018// com.hfg XML/HTML Coding Library
019//
020// This library is free software; you can redistribute it and/or
021// modify it under the terms of the GNU Lesser General Public
022// License as published by the Free Software Foundation; either
023// version 2.1 of the License, or (at your option) any later version.
024//
025// This library is distributed in the hope that it will be useful,
026// but WITHOUT ANY WARRANTY; without even the implied warranty of
027// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
028// Lesser General Public License for more details.
029//
030// You should have received a copy of the GNU Lesser General Public
031// License along with this library; if not, write to the Free Software
032// Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA  02111-1307  USA
033//
034// J. Alex Taylor, President, Founder, CEO, COO, CFO, OOPS hairyfatguy.com
035// jataylor@hairyfatguy.com
036//------------------------------------------------------------------------------
037
038public class WmlVbaPart extends VbaPart
039{
040   public static final String VBA_PROJECT_NAME = "vbaProject.bin";
041   public static final String AUTO_OPEN_VBA = "Project.com_hfg.AutoOpen";
042
043
044   //###########################################################################
045   // CONSTRUCTORS
046   //###########################################################################
047
048   //---------------------------------------------------------------------------
049   public WmlVbaPart(InputStream inStream, String inName)
050   {
051      super(inStream, inName);
052   }
053
054   //###########################################################################
055   // PUBLIC METHODS
056   //###########################################################################
057
058   //---------------------------------------------------------------------------
059   public static final InputStream getVBA_ProjectStream()
060   {
061      InputStream stream = WmlVbaPart.class.getResourceAsStream("rsrc/" + VBA_PROJECT_NAME);
062      if (null == stream)
063      {
064         throw new ProgrammingException("The rsrc " + StringUtil.singleQuote(VBA_PROJECT_NAME) + " wasn't found!?");
065      }
066
067      return stream;
068   }
069
070
071   //---------------------------------------------------------------------------
072   protected String getDir()
073   {
074      return WmlXML.WORD_DIR;
075   }
076
077}