View Single Post
  #1   Report Post  
Posted to microsoft.public.excel.worksheet.functions,microsoft.public.excel.programming,microsoft.public.excel.misc
Lisa[_10_] Lisa[_10_] is offline
external usenet poster
 
Posts: 5
Default Hyperlinks.Delete without losing formatting?

I have javascript function that copies a table from a webpage to an
Excel worksheet. This is supposed to be a multi-purpose function that
works on various different tables, and sometimes the tables have
hyperlinks in them.

I have my script doing Hyperlinks.Delete(), and that strips all the
hyperlinks out of the sheet quite well. The problem is that when the
hyperlinks are removed, any formatting that existed in those cells is
removed as well. Borders, colors, font info, wrapping, number
formatting: all gone.

I tried doing this:

if (objExcelApp.Selection.Hyperlinks.Count 0){
for (i = objExcelApp.Selection.Hyperlinks.Count; i 0; i--){
LinkCell = objExcelApp.Selection.Hyperlinks(i).Parent;
NumFmt = LinkCell.NumberFormat;
IsBold = LinkCell.Font.Bold;
IsItalic = LinkCell.Font.Italic;
IsWrap = LinkCell.WrapText;
hAlign = LinkCell.HorizontalAlignment;
vAlign = LinkCell.VerticalAlignment;

LinkCell.Hyperlinks.Delete();

LinkCell.NumberFormat = NumFmt;
LinkCell.Font.Bold = IsBold;
LinkCell.Font.Italic = IsItalic;
LinkCell.WrapText = IsWrap;
LinkCell.HorizontalAlignment = hAlign;
LinkCell.VerticalAlignment = vAlign;
}
}

And it works. It doesn't do the borders, because I haven't done that
yet, but the basic concept works.

And it takes forever and a day.

So I was hoping that someone might know some arcane method of removing
hyperlinks *without* killing the formatting in the process.

Thanks,
Lisa