Hey guys!

I'm working on the same issue, getting macros code from XLS file.
I got VBA modules raw data htis way

                        HSSFWorkbook wb = new HSSFWorkbook(is);
                        
                        ExcelExtractor extractor = new ExcelExtractor(wb);
                        
                        List<HSSFObjectData> l = wb.getAllEmbeddedObjects();
                        DirectoryEntry root = extractor.getRoot();
                        for(Entry entry:root){
                                if(entry.isDirectoryEntry()){
                                        DirectoryEntry dirEntry = 
(DirectoryEntry)entry;
                                        if(dirEntry.hasEntry("VBA")){
                                                DirectoryNode node = 
(DirectoryNode) dirEntry.getEntry("VBA");
                                                for(Entry e:node){
                                                        DocumentNode docNode = 
(DocumentNode)e;
                                                        
if(!docNode.getName().startsWith("dir") &&
                                                                        
!docNode.getName().startsWith("_VBA_PROJECT") &&
                                                                        
!docNode.getName().startsWith("__SRP")){
                                                                
System.out.println(docNode.getName());
                                                                
DocumentInputStream dis = new DocumentInputStream(docNode);
                                                                byte[] data = 
IOUtils.toByteArray(dis);
                                                                
FileOutputStream fos = new                
FileOutputStream("C:/"+docNode.getName()+"_data.txt");
                                                                fos.write(data);
                                                                fos.close();
                                                        }
                                                }
                                        }
                                }
                        }

So I had 4 files. Sheet1_data.txt upto Sheet3_data.txt and
ThisWorkbook_data.txt.
My macros is in the ThisWorkbook_data.txt. But the problem is that I don't
recognize the format of these files as format of VBA module, described in
[MS-OVBA].pdf.

Any ideas?

--
View this message in context: 
http://apache-poi.1045710.n5.nabble.com/DO-NOT-REPLY-Bug-52949-New-How-to-extract-VBA-Macros-code-from-Excel-file-by-using-POI-tp5579175p5672215.html
Sent from the POI - Dev mailing list archive at Nabble.com.

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to